Mailinglisten-Archive |
Kay Remer wrote: > > Part 1.1.1 Type: Plain Text (text/plain) > Encoding: quoted-printable Bitte keine HTML Mails. Ist Dir die strikte Trennung von JavaScript (Client) und PHP (Server) bekannt? Diese beiden Welten können nicht direkt miteinander kommunizieren. Client ----- HTTP Request ---> Webserver ---> PHP <--- StdOut von PHP Client <---- HTTP Response --- Webserver Du willst per JavaScript mit dem Webserver sprechen, also eine Anfrage stellen. Anschließend soll das Ergebnis beim Client durch JavaScript verarbeitet werden. Du kannst mit JavaScript, welches auf der Clientseite läuft eine Anfrage an den Server stellen, indem Du z.B. ein Refresh auslöst oder die URL des aktuellen Dokument änderst. Der Weg von links nach rechts im obigen Bild funktionier also wunderbar. HTTP Request an den Server durch die Anforderung einer neuen URL und schon kommt die Antwort. Doch was genau passiert beim Client mit der Antwort? Browser <---- HTTP Response --- Webserver Rendert das HTML Startet enthaltene Skripte Es gibt keinen direkten Pfeil vom Webserver zum JavaScript. Dies ist auch nicht möglich, schließlich gibt es dort noch kein laufendes Sktipt. Dies existiert erst nach der Interpretation der Antwort des Webservers durch den Browser zu einem Zeitpunkt da die HTTP Verbindung bereits beendet ist. Etwaige Skripte können allenfalls das übermittelte HTML Dokument interpretieren. Sind im Dokument Formulare enthalten, können die Werte der einzelnen Formularelemente abgefragt werden. Dieses Vorgehen ist jedoch nicht ratsam. Das einfachste Argument gegen dieses Vorgehen sind die üblichen Probleme, die entstehen wenn Webdesigner JavaScript vorraussetzen: - es läuft nur mit einem Teil der vorhandenen Browser - der WebWasher filtert JavaScript - Firewalls filtern JavaScript (Firmenkunden!) Das zweite kommt vom Programmierer selbst: - das Vorgehen ist kompliziert Und letztlich bringt der von Paranoia geplagte Sysadmin das schlagende Argument und haut einem unangespritzt in den Boden mit der Frage ob man denn nicht die einfachsten Grundregeln der CGI Programmierung kennt: - die Formulare zeigen interne Datenstrukturen Alle Programme, die im Web ihre internen Datenstrukturen zeigen können mit mehr oder minder schädlichen Konsequenzen attakiert werden. Willst Du immer noch JavaScript? Ulf
php::bar PHP Wiki - Listenarchive