• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php absichern + chmod setzen

capten

Neues Mitglied
hallo leute

ich wollte mal fragen was man bei PHP in sachen absicherung beachten muss um nicht dem erst besten "script kiddie" zum opfer zu fallen.
ist das PHP so ok oder muss man dort noch was absichern damit kein unfug damit getrieben werden kann?:
PHP:
<?php
 $newfile = fopen($dateiname1,"w");
 $add = "&tx_t=$tx_t&user=$user";
 fwrite($newfile, $add); 
 fclose($newfile);
?>
PHP:
<?php
$newfile = fopen($dateiname,"w");
$add = "&x=$arrx&y=$arry";
fwrite($newfile, $add); 
fclose($newfile);
?>
PHP:
<?php
$filelocation="anzahl.txt";  
$newfile = fopen($filelocation,"r+");
$add = "&zahl=$zahl";
fwrite($newfile, $add); 
fclose($newfile);
include($filelocation);
?>
das ist der FLASH teil dazu:
Code:
[...]
dateiname = "bild"+zahl+".txt";
        dateiname1 = "texte"+zahl+".txt";
        loadVariables("schreiben.php", "", "POST");
        loadVariables("texte.php", "", "POST");
        loadVariables("anzahl.php", "", "POST");
[...]

zusätzlich würde mich noch interesieren wie man heraus findet welcher CHMOD der richtige ist - einfch alles auf "777" setzen ist sicher zu riskant oder?

lieben dank für eure hilfe
 
zusätzlich würde mich noch interesieren wie man heraus findet welcher CHMOD der richtige ist - einfch alles auf "777" setzen ist sicher zu riskant oder?
Generell gilt hier so wenig Rechte wie möglich, so viele Rechte wie nötig. ;) 777 brauchen eigentlich die wenigsten Skripte. Am besten ist natürlich, wenn dein Skript mit 644 läuft.

Grüße
 
Die Rechte auf einem Unix-Rechner werden in User, Group und Other aufgeteilt. Die erste Oktalziffer steht für User, die zweite für Group und die Dritte für Other.
Das beschreibt die Rechte an dem File, die der Eigentümer des Files hat, die Benutzer haben, die der selben Gruppe angehören wie die des Files und "other" bezieht sich auf alle anderen.

Jede Oktalziffer ist zusammengesetzt aus den Werten 4-read, 2-write, 1-execute. Diese kann man beliebig ORen (addieren). 6 bedeutet dann 4+2=lesen und schreiben. 4 bedeutet nur lesen. Execute steht für Binaries (Scripts können grundsätzlich auch durch lesen ausgeführt werden) und für Verzeichnisse.

644 bedeutet also, dass der Eigentümer der Datei sie beschreiben und lesen kann, Gruppenmitglieder und andere dürfen sie nur lesen.

Der aktuelle Benutzer ist der, unter dem der Webserver läuft. Der muss nicht zwangsläufig mit dem Eigentümer der Datei übereinstimmen, das könnte z.B. auch der ftp-User zu dem Webspace sein. Richtig eingerichtet, stimmt aber die Benutzergruppe eigentlich überein. "other" ist man nie. D.h. die letzte Ziffer bei den Rechten von HTML-Dateien und Scripts kann immer 0 sein, weil dann keine anderen Benutzer darauf zugreifen können. Ausführrechte braucht man bei Websites normalerweise nicht.

Je nach Konfiguration der Gruppe ist also 660 oder 640 anzuraten.

Die Rechte beziehen sich übrigens immer nur auf den Zugriff im lokalen Filesystem, haben also nichts mit dem Zugriff via Webbrowser zu tun.

Die Oktalzahlen kann man auch anders schreiben, 644 wird dann zu rw-r--r--.
Das wird wieder aufgeteilt in User/Group/Other und read/write/execute.
777 ist also rwxrwxrwx, 640 rw-r-----.

Das so als Abriss...

:-)

man chmod
 
Zurück
Oben