Finns det nått sätt att spärra PHP så att man inte kan inkludera filer över /usr/home/wwwroot...
så om en fil ligger i /usr/home/wwwroot/user1 så skall man bara komma åt filer i /usr/home/wwwroot/user1 och under ( /usr/home/wwwroot/user1/folder1, /usr/home/wwwroot/user1/folder2) och så vidare
Me om du försöker komma åt /usr/home eller /usr/home/gabriel eller /root eller / eller /etc eller någon anna så skall det inte funka...`???
spärra inkludering
9 svar · 439 visningar · startad av Picklezz
Om du kan ändra i php.ini själv (din egen server) så är det inlude_path som gäller.
Om inte så kan du alltid prova med ini_set.
ini_set("include_path", ".");
men om jag ändrar den så går det fortfarande att komma åt filer i andra mappar...såsom /etc m.f.l ...
ingen som vet?
fungerar inte särskilt bra....
<VirtualHost *>
DocumentRoot /www/192.168.0.1
ServerName 192.168.0.1
ErrorLog /var/log/httpd/192.168.0.1-error_log
CustomLog /var/log/httpd/192.168.0.1-access_log common
php_value open_basedir /home/wwwroot/192.168.0.1/
</VirtualHost>
har jag lagt till i httpd.conf
sen har jag denna fil (/home/wwwroot/192.168.0.1/):
<?
include("/usr/local/etc/php.ini");
?>
och då tillåter den att öppnas...
Du måste använda:
php_admin_value open_basedir /home/wwwroot/192.168.0.1/
går fortfarande att komma åt andra filer...
använde php_admin_flag så funka det men nu har jag följande fel:
Warning: open_basedir restriction in effect. File is in wrong directory in Unknown on line 0
Warning: Failed opening '/www/192.168.0.1/index.php' for inclusion (include_path='.:/usr/local/lib/php') in Unknown on line 0
och då har jag ändrat index.php till:
<?
echo "HEJ";
?>
har sökt lite och sett att det är fler som har samma problem...men inte hittat nån lösning??