Ik ben aan het leren om een veilig upload systeem te maken. 1 van de dingen die ik op internet gevonden heb is het voorkomen dat gevaarlijke scripts worden uitgevoerd.

Ik heb in de .htaccess de volgende code staan. Het .htaccess bestand heb ik in de parentfolder geplaats. Maar ook als ik het in dezelfde folder plaats werkt het niet.


Options -ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi


Maar dit lijkt niet te werken.
http://boardit.misterdeman.eu/userfiles/1/scriptwerkt.php

Waar kan het aan liggen?

EDIT: Ik zet er toch maar bij. Naast het voorkomen dat script bestanden worden geopend, is elke directe toegang tot bestanden ook niet toegestaan.
Ik weet het, ik kan een map buiten de publicmap aanmaken hiervoor, maar het is tenslotte een oefening.
En wat is de bedoeling van die code?
Ik had begrepen dat het voorkomt dat die bestanden uitgevoerd worden.
Hoi Bas bedankt voor het opzoeken.

Ik heb een soortgelijke code geprobeerd.


deny from all
<Files ~ "^\w+\.(gif|jpe?g|png|PNG)$">
order deny,allow
allow from all
</Files>


En dit accepteerd dat er alleen bepaalde bestanden worden geopend. Nog case sensitive ook.

Maar nu komt het, ik wil dat niemand direct de bestanden kan benaderen. Enkel mijn eigen php scripts. Daarvoor had ik al een ander stukje code in het .htaccess bestand staan. Maar dit werkt niet in combinatie met bovenstaande.


Order deny,allow
Deny from all
Allow from localhost
Php kan er altijd bij. .htaccess is voor html verzoeken.
Wat ik dus wil voorkomen is dat iemand zijn eigen php script uitvoert op mijn server, omdat het toegang heeft tot alle mappen/bestanden.
Wat je kunt doen als upload service, is de bestanden een path voor je webroot directory opslaan. Op die manier kun je alleen via een script van jou de bestanden opvragen.
Oke dat begrijp ik.

Het is met een eenvoudig stukje in de .htaccess "Deny from all" al mogelijk om toegang tot de bestanden te voorkomen. En als ik het in de root doe is zelfs dat niet meer nodig.

Stel iemand upload een php bestand voor wat voor reden dan ook. Als hij het dan voor elkaar krijgt om via mijn scripts zijn bestand te openen ben ik alsnog terug bij af toch?
Dat is een beetje vertrouwen in je eigen kunde in veilig programmeren. Dat is natuurlijk goed te voorkomen.
Joeri de Man op 08/02/2012 12:48:25

Het is met een eenvoudig stukje in de .htaccess "Deny from all" al mogelijk om toegang tot de bestanden te voorkomen.


Dat geldt alléén voor html verzoeken. Een phpscript kan er gewoon bij.

Reageren