phpbar.de logo

Mailinglisten-Archive

[php] Aufruf prüfen

[php] Aufruf prüfen

Ruprecht Helms rhelms at rheynmail.de
Don Mar 26 11:27:36 CET 2009


Hallo Mario Batz:

> ich hab ein Skript das der Anwender per Browser oder auch über einen Cronjob
> aufgerufen werden kann.
> Wie kann ich am sichersten im Skript feststellen, ob es per Browser oder
> über die Konsole gestartet wurde? Meine erste Idee war mit
> isset($_SERVER["HTTP_USER_AGENT"]) oder isset($_SERVER["SHELL"]) zu prüfen,
> aber ist das wirklich 100%ig zuverlässig?

...HTTP_USER_AGENT liefert die Informationen wie sich der Browser beim
Webserver meldet. Mir ist bislang nur vom Operabrowser bekannt, dass es
dort eine Option gibt, dass der Browser sich nicht als Opera verhalten
soll sondern beispielsweise als Internet Explorer oder Netscape
Communicator.

Ich meine, dass ...["SHELL"] immer was liefern müsste und zwar zumindest
die IP-Adresse 127.0.0.1 -> localhost und somit der Rechner selbst.

Von daher kann man im Script am besten prüfen wie es aufgerufen wurde,
in dem man die Servervariable "HTTP_USER_AGENT" ausliest. Wenn hier kein
Eintrag zu finden ist, dann wurde das Script von der Konsole aus
gestartet oder zumindest nicht über das Web aktiviert.

Mit freundlichen Grüßen
Ruprecht Helms

-----------------------------------------------
Ruprecht Helms IT-Service & Softwareentwicklung
       allow your worktools be individual

Web: http://www.rheyn.de

php::bar PHP Wiki   -   Listenarchive