Html js(jquery, ajax) php

Hi,
bastel grad ein bisschen rum und eigentlich läuft alles. Aber mir geht immer die Sicherheit durch den Kopf. Es gibt natürlich keine
100% Sicherheit im WEB aber ein kleinen Schritt in diese Richtung wäre mir recht. Ich beschreibe mal mein Stand.
Ich habe auf Server A eine Homepage liegen die ich mit HTML, CSS, JS gebaut habe. Nun sind da noch zwei PHP Files, einmal ein Kontaktformular und ein Onlineantrag. Mit dem ausfüllen des Onlineantrages wird per AJAX ein PHP Script auf einem Server B aufgerufen. In diesem Skript prüfe ich halt die Eingaben. Trage Sie mit mysql_real_escape ein. Und schicke einen Response zurück.
Mir ist einfach dieser Sicherheitsaspekt so unklar. Ich habe die Clientseite wo meinetwegen jegliche Art von Daten duch Manipulation
an mein PHP Skript geschickt werden, doch da Filter und entschärfe ich diese Daten ja. Wo kann denn jetzt noch ein Risiko für meine Webanwendung sein. Durch das übertragen von AJAX an Server B?
Mit Javascript (JQuery, AJAX) was ja auf der Clientseite läuft, mach ich ja nur so ein paar dynamische, optisch Sachen. Also alles was
ich da mache, hatt doch eigentlich keinen Sicherheitsaspekt oder?

Das beschreiben eines Problems ist manchmal schwieriger als das eigentliche Problem. Puuh...

Danke.

Gruss Daniel
 
Du hast einen Aspekt außer Acht gelassen: Man muss nicht unbedingt dein Formular benutzen, um Daten an dein PHP-Script zu senden. Wer hindert mich daran, bei mir lokal ein Form zu erstellen, was als Action dein PHP-Script hat? Oder ich verwende curl.

Die Daten im Script zu filtern und validieren ist oberstes Gebot. Wenn du das machst, bist du zu mindest, was den Server-Part angeht, safe. Ob dein Formular bspw. gegen XSS geschützt ist, kann man an dieser Stelle noch nicht sagen.
 
Danke.
Ja das sagte ich ja, das was vom Client kommt kann ich ja nicht unterbinden. Also ich mache eine Vorprüfung der Daten mit JS und auch das Formular kann nur abgeschickt werden wenn JS aktiviert ist. Aber wie du ja gesagt hast kannst du ja auch ein eigenes Formular bauen. Deswegen ist diese Seite ja nicht beeinflussbar. So jetzt kommen irgendwelche Daten an mein PHP Skript, dort empfange ich mit

if( !isset($_POST[$var1]) or ($_POST[$var1] == ""))
{fehler[0] = "blub";}else{ $var1 = trim($var1) }

die Variablen. Danach speicher ich die Variable in einer MYSQL Datenbank mit
mysql_real_escape voran gestellt. Eine Ausgabe von Daten aus der Datenbank gibt es ja nicht. Also kein htmlenteties($var1). Ich erstelle ja nur einen eigenen json_decode(Array) und schicke Ihn als Antwort an AJAX zurück.

Aber beim verschicken meiner Daten per AJAX kann doch nur jemand die Daten abfangen, wenn auf dem Client ein Sniffer läuft oder? Ok oder wenn jemand die Seite nachbaut und die Daten an sich schickt. Da würde nur https nützen?
 
Beim Client kann alles passieren, da kannst du aber nichtmehr wirklich was machen. Wichtig ist, wie du mit Userdaten am serverskript umgehst und was du wieder zurücksendest (wohin auch immer, ob an ein AJAX-Skript oder plain). zB solltest du nicht die ungefilterten Userdaten gleich wieder zurücksenden (XSS).
 
Zurück