Regler för CGI/PHP-program
CGI- och PHP-program är program som exekveras på webbservern. Av säkerhetsskäl använder sig DSV av suEXEC respektive suPHP, vilket innebär att alla CGI/PHP-program körs under användarens egen identitet i stället för webbserverns identitet (www-data). För att CGI/PHP-program ska fungera måste vissa regler följas:- Filer med CGI-program skall ha namn som slutar på ".cgi" och PHP-programs namn skall sluta på ".php".
- .cgi-filer kan skrivas i valfritt programspråk. Är programmet inte kompilerat så måste första raden som vanligt vara en #!-rad som anger interpretatorn.
- Katalogen där CGI/PHP-programmet ligger får bara vara skrivbar av ägaren och inga andra.
- Filen med CGI/PHP-program får bara vara skrivbar av ägaren och inga andra.
- Filen med CGI-program (dock ej PHP) måste vara exekverbar av ägaren (ha x-biten satt för ägaren).
- Filen med CGI/PHP-program får inte ha Unix setuid eller setgid satt.
- Alla kataloger ovanför CGI/PHP-programmet i filsystemshierarkin måste vara exekverbara för alla (ha x-biten satt för "others"). Det här kravet är inte specifikt för CGI/PHP-program utan gäller även vanliga statiska webbsidor.
Särskild information om PHP
PHP-inställningen register_globals har slagits av då den är en potentiell säkerhetsrisk. Tyvärr slutar vissa PHP-skript att fungera då ifall skripten antar att argument registreras som globala variabler. Använd s.k. "superglobals" i stället, t.ex. $_GET['foo'] i stället för $foo. Mer information finns på http://se.php.net/manual/en/reserved.variables.php.
Senast uppdaterad: 6 januari 2011
Sidansvarig:
Sven Olofsson



