Entwickler-Ecke
Internet / Netzwerk - verifikation von POST-Daten via PHP
FinnO - So 27.12.09 21:43
Titel: verifikation von POST-Daten via PHP
Hallo,
für ein Projekt möchte ich Daten über ein PHP-Script in eine Datenbank laden, dazu möchte ich die Daten an das Script POSTen, wo sie weiterverarbeitet und in die mySQL-DB gespeichert werden. Die Frage die sich mir aufdrängt, ist, wie kann ich verfizieren, dass die gesendeten Daten auch garantiert von meinem Programm kommen und nicht von irgendeinem fiesen Fiesling? Ich meine, Passwortmitschicken genügt ja wohl nicht, oder, ich nehme an, man kann das einfach abfangen und nachlesen, oder?
Bin auf Tipps gespannt!
jaenicke - So 27.12.09 21:58
Wirklich sicher sein kannst du nie. Denn egal was dein Programm macht, man kann es nachbauen indem man dein Programm disassembliert und analysiert.
Du kannst aber z.B. durch nach bestimmten Algorithmen gebildete Werte es zumindest erschweren. Zum Beispiel indem du Werte vom Server bekommst und dann daraus bestimmte bilden musst. In der Session werden die gespeichert und wenn die Antwort nicht passt, verwirfst du die Anfrage.
Je nach Aufwand, den du betreiben willst, gibt es auch digitale Signaturen und entsprechende fertige Algorithmen.
FinnO - So 27.12.09 22:23
also zum Beispiel eine solche Verwurstung:
Ich schicke eine Anfrage, kriege eine Zahl und eine SID, verwurste die Zahl irgendwie, beispielsweise mit dem Datum und dem Anfangsbuchstaben des Monats in ASCII * 2, der Server macht das gleiche, speichert das natürlich zwischen und ich schicke das nochmal hin und kriege dann erlaubnis, schicke dann die Daten und die werden bearbeitet und die Session erlischt.
€: bitte um bestätigung ;)
jaenicke - So 27.12.09 23:04
Richtig, du brauchst zwei Anfragen, einmal die um die zu berechnenden Daten zu bekommen und die Session zu eröffnen und die zweite um die Antwort und die Daten zu schicken. Das kannst du ja auf einmal machen, dann reichen diese beiden Anfragen.
Ich rate dazu einen Zufallsfaktor einzubauen. Das heißt, dass ein bestimmter Wertebereich zurückkommen muss, ggf. auch in mehreren Werten. Denn so erschwerst du die Erkennung des Musters erheblich, wenn jemand nur die Daten snifft.
FinnO - So 27.12.09 23:09
werde ich machen, danke!
Flamefire - Mo 28.12.09 12:06
und BTW: Verzichte bitte auf Dialogfelder der Art "Sicherheitsschlüssel stimmt nicht"
Das ist zu leicht für Cracker ;-)
Sorge dafür, dass der Schlüssel immer stimmt in deinem Programm (also der Algo fehlerfrei ist) und starte zur Not eine 2. Anfrage nach der gleichen Art ohne Mitteilung an den User.
Wenn es 2mal hintereinander nicht geht-->IP Block fü ein paar Minuten
jaenicke - Mo 28.12.09 12:36
Beim eigenen Programm wird es das Problem ja ohnehin nicht geben. Und wenn jemand das Skript falsch aufruft, kann man ja einfach eine leere Seite oder "500 - internal server error" oder "Beeinträchtigung durch Wartungsarbeiten" :mrgreen: oder so zurückgeben.
FinnO - Mo 28.12.09 22:54
ich gebe einfach nichts zurück und gehe Clientseitg davon aus, dass das Programm richtig vorgeht und die Session Valide ist. So wird nichts zurückgesendet und alles ist in Butter. Ärgerlich natürlich, wenn der Server mitten in der Verifikation @BenBE: mal wieder stirbt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!