phpbar.de logo

Mailinglisten-Archive

[php] Aufruf eines Scriptes per Javascript

[php] Aufruf eines Scriptes per Javascript

Ulf Wendel ulf_(at)_redsys.de
Wed, 26 Jul 2000 19:57:39 +0200


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