Beveiliging van mappen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Martijn

Martijn

01/06/2007 08:41:00
Quote Anchor link
Beste lezer,


Ik ben momenteel bezig met een website waarop oa. handleidingen kunnen worden upgeload, deze worden dan in de map /handleidingen in de root gezet.

Nu is het de bedoeling dat die handleidingen alleen kunnen worden gedownload nadat men is ingelogd, en men genoeg machtigingen heeft om dat bestand te downloaden. Oftewel, eerst de status controleren dmv PHP, en als diegene genoeg privileges heeft om dat bestand te downloaden, het bestand geven.

Dit is ook het probleem niet, dat wil allemaal prima. Het punt is dat alle bestanden nog steeds direct te benaderen zijn, dus als men gewoon naar www.mijndomein.nl/handleidingen/merk/handleiding.pdf dan wordt het bestand ook ook gedwonload, en dat moet worden voorkomen!

Dus, voorbeeldje
mijndomein.nl/handleiding/merk/handleiding.pdf Moet fout geven
mijndomein.nl/download.php?id=1 Controleert inlogstatus, en geeft het bestandje zodra er genoeg machtigingen zijn.

Iemand een idee hoe ik dit oplos?
 
PHP hulp

PHP hulp

22/11/2024 04:50:11
 
Jurgen assaasas

Jurgen assaasas

01/06/2007 09:23:00
Quote Anchor link
Je kunt denk ik beter HTACCESS authenticatie gebruiken
 
Martijn

Martijn

01/06/2007 09:36:00
Quote Anchor link
Dat zou betekenen dat de gebruiker voor een tweede keer zou moeten inloggen, toch?
 
Aoi

Aoi

01/06/2007 09:39:00
Quote Anchor link
//Offtopic//

@Martijn

RentAGame?
 
Martijn

Martijn

01/06/2007 09:48:00
Quote Anchor link
Nope...ik ben niet van RentAGame.. ;)
 
Aoi

Aoi

01/06/2007 09:49:00
Quote Anchor link
Nee ok maar ik ben met project bezig en daarmee moeten we dus hetzelfde maken.. dus ik dacht he misschien is hij met zelfde project bezig :P
 
Jurgen assaasas

Jurgen assaasas

01/06/2007 09:51:00
Quote Anchor link
je kan geloof ik wel HTACCESS authenticatie gebruiken in PHP maar niet andersom.
 
Robert Deiman

Robert Deiman

01/06/2007 09:56:00
Quote Anchor link
Je kan hier eens kijken:

http://phphulp.nl/php/scripts/1/821/
 
Martijn Wieringa

Martijn Wieringa

01/06/2007 10:11:00
Quote Anchor link
Via HTACCESS kun je de map 'blokkeren'.. elke request binnen de map /handleidingen wordt dan bijv. doorgestuurd naar /manuals.php

Vervolgens laat je 'manuals.php' de handleidingen outputten nadat deze checked of je daar toegang toe hebt..

bijv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$merk = 'xxx';
$handleiding = 'xxx.pdf';

if($toegang_tot_merk && $toegang_tot_handleiding)
{
    $path = '/handleidingen/' . $merk . '/' . $handleiding;
    if(is_file($path))
    output_file($path);
}


Voor het uitwerken van de functie 'output_file()' moet je je richten op headers, zie ook de vele tut's over het outputten van bvestanden op deze site.
 
Bart van der veen

bart van der veen

01/06/2007 10:21:00
Quote Anchor link
ik gebruik deze lijn in mijn .httaccess:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
ErrorDocument 403 http://www.nvmac.nl/403.html

order allow,deny
allow from XX.XX.XXX.XXX (hier de ip van je website)
deny from all
?>


nadeel is dan wel dat je de pfd niet meer zo kunt openen in de browser...

als je daar een oplossing voor weet is dit geen zinloze post...
 
Martijn Wieringa

Martijn Wieringa

01/06/2007 10:27:00
Quote Anchor link
HTACCESS:

# Start rewrite engine
RewriteEngine On

# Catch blocked folders
RewriteRule ^(handleidingen)(/(.*)?)?$ manuals.php [NC,L]
 
Arjan Schuurman

Arjan Schuurman

01/06/2007 10:28:00
Quote Anchor link
Het zou zo moeten te doen zijn met .htaccess
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.