Page 1 of 1

PHP Input (Get/Post) sicher machen

Posted: 2004-03-12 22:41
by djbennyf
Ich möchte eine Funktion die php inputs (get/post) sicher macht, sprich keine befehle im string akzeptiert wie z.b. system() print etc...

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-12 23:34
by arty

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-12 23:35
by dodolin
Eine Art "Blacklist" zu machen (wie du vorschlägst) ist IMHO nicht praktikabel. Wenn, dann versuche es über eine Art "Whitelist" zu lösen.

Es gibt kein "sicher" auf Knopfdruck. Jedes Skript muss aufs neue "sicher" geschrieben werden.

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-13 12:26
by djbennyf
Ich will nur dass wenn ein benutzer

test.php?test="+.system('mv+*+/dev/null')+."

aufruft die funktion system nicht ausgeführt wird oder:

test.php?test=$dbpass

dass mein php script nicht das dbpass schreibt

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-13 12:31
by cybermage

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-13 14:26
by dodolin
Ich will nur dass wenn ein benutzer

test.php?test="+.system('mv+*+/dev/null')+."

aufruft die funktion system nicht ausgeführt wird oder:

test.php?test=$dbpass

dass mein php script nicht das dbpass schreibt
Kann es sein, dass du sowohl den Link von arty als auch meinen Beitrag entweder nicht gelesen oder nicht verstanden hast?!

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-13 15:45
by niklas_
DjBennyF wrote:Ich will nur dass wenn ein benutzer

test.php?test="+.system('mv+*+/dev/null')+."

aufruft die funktion system nicht ausgeführt wird oder:

test.php?test=$dbpass

dass mein php script nicht das dbpass schreibt
Das wird auf nicht passieren, solange du $test nicht ausführen lässt via exec()

oder schonmal versucht mit einem echo $test etwas ausführen zu lassen?
auch ein include($test) wird fehlschlagen......

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-15 22:58
by majortermi
So lange du kein, eval(), kein system(), kein passthru(), kein include() - jeweils auf Variablen natürlich - und ähnliches benutzt bist du schon mal halbwegs sicher. Dann musst du nur noch beim Lesen und Schreiben von Dateien aufpassen, SQL-Injenction verhindern und bei einer Ausgabe immer brav escapen. Lies einfach mal in der DCLP-FAQ nach, da steht das meiste drin.

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-16 15:31
by niklas_
Du könnste ausserdem die Datein in einer $_SESSION Variable übergeben und oder vielleicht den sicherheitskritischen variableninhalt verschlüsseln....

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-16 15:58
by djbennyf
Kann man nicht ein array erstellen mit allen nicht gpc variablen?

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-16 17:37
by niklas_
andersrum nicht leichter?

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-16 17:56
by arty
DjBennyF wrote:Kann man nicht ein array erstellen mit allen nicht gpc variablen?
POST/GET/COOKIE stehen auch in $_REQUEST[]

bye
arty

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-16 21:12
by djbennyf
Kann einer von euch eine Funktion basteln, die alle variablen des scripts (globale) in ein Array speichert... Sprich alle variablen lesen und mit den gpc variablen vergleichen... geht das?

Re: PHP Input (Get/Post) sicher machen

Posted: 2004-03-16 22:18
by arty
Sowas steht irgendwo in den Userkommentaren zu den globalen Variablen vom PHP Manual. Einfach da mal ein bisschen drin stöbern.

bye
arty