1. Du är här:
  2. DSV
  3. Utbildning
  4. IT-miljö
  5. Webb
  6. Regler för personliga CGI-program

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:
  1. Filer med CGI-program skall ha namn som slutar på ".cgi" och PHP-programs namn skall sluta på ".php".
  2. .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.
  3. Katalogen där CGI/PHP-programmet ligger får bara vara skrivbar av ägaren och inga andra.
  4. Filen med CGI/PHP-program får bara vara skrivbar av ägaren och inga andra.
  5. Filen med CGI-program (dock ej PHP) måste vara exekverbar av ägaren (ha x-biten satt för ägaren).
  6. Filen med CGI/PHP-program får inte ha Unix setuid eller setgid satt.
  7. 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.

En verksamhet i samarbete med KTH.