PHP auf Windows - keine Variablen werden angenommen
André S.
- php
0 André S.0 Auge0 Christoph Schnauß0 Johannes Zeller0 Auge
0 André S.
N'abend,
ich habe mir soeben PHP auf meinem Heimrechner installiert. Genauer
gesagt die Version 4.3.1. Als Webserver habe ich den Apache in der
Version 2.0.46 am laufen. Als MySQL Server nehme ich extern den
von meinem "wirklichen" Webserver. Das funktioniert auch weit-
gehend prima, aber mein Problem.
Es werden keine angegeben Variablen übernommen :(.. Ein kleines
Beispiel:
index.php?text=hallo
Im Script:
<?
echo $text
?>
Ausgabe bleibt leer, er nimmt also die Variable nicht an. Es sieht
so als, als würde keine übergeben werden.
Habe ich etwas falsch konfiguriert, oder funktioniert das in dieser
PHP Version grundsätzlich nicht? :(
Danke für eure Antworten :)
bye. andre
Sorry, hab den Fehler gefunden *g*.. Hatte register_globals noch
nicht eingeschaltet.. *sorry*
Hallo
[PHP] Version 4.3.1.
Es werden keine angegeben Variablen übernommen :(.. Ein kleines
Beispiel:index.php?text=hallo
<?
echo $text
?>Habe ich etwas falsch konfiguriert, oder funktioniert das in dieser
PHP Version grundsätzlich nicht? :(
In den neueren Versionen von PHP ist die globale Übergabe von Variablen
an das nächste Skript aus Sicherheitsgründen abgeschaltet.
Du kannst dies in der php.ini bei register_globals: wieder zuschalten,
was aber _keinesfalls_ empfehlenswert ist.
Auf Deine Variable $text kannst Du so zugreifen: $_GET["text"]
Nach gleichem Verfahren bei post: $_POST["text"], bei Session: $_SESSION["text"],
etc. pp.. Damit wird zumindest sichergestellt, daß die Variable nur auf dem
gewünschten Wege übergeben wurde. Eine genauere Prüfung (z.B. ist es eine Zahl
oder ein String mußt Du sowieso selber vornehmen).
zu register_globals: http://www.php.net/manual/de/security.registerglobals.php
Tschö, Auge
hi,
(wo hast du denn die letzten Wochen gesteckt ...)
Du kannst dies in der php.ini bei register_globals: wieder zuschalten,
was aber _keinesfalls_ empfehlenswert ist.
Kannst du eine Begründung für deine apodiktische Aussage
_keinesfalls_
nachliefern? Wir haben mehrfach ähnlich gelagerte Anfragen in letzter Zeit gehabt, und der Hinweis auf "register_globals" kam bisher immer ohne jegliche Warnung, daß daran etwas riskant sein könnte.
zu register_globals: http://www.php.net/manual/de/security.registerglobals.php
Naja, mal abgesehen davon, daß Syntax und Grammatik bei dieser Adresse nicht ganz geglückt sind: eine Sicherheitswarnung kann ich dort nicht erkennen.
Grüße aus Berlin
Christoph S.
Hallo Christoph
Du kannst dies in der php.ini bei register_globals: wieder zuschalten,
was aber _keinesfalls_ empfehlenswert ist.
Kannst du eine Begründung für deine apodiktische Aussage
_keinesfalls_
nachliefern? Wir haben mehrfach ähnlich gelagerte Anfragen in letzter Zeit gehabt, und der Hinweis auf "register_globals" kam bisher immer ohne jegliche Warnung, daß daran etwas riskant sein könnte.
Falls register_globals auf on ist, *könnte* ein Angreifer eventuell normale Variablen im Script manipulieren. Bei einer sauberen Initialisierung der Variablen und ansonsten meistens auch, ist das aber in der Realität auch bei register_globals = off eigentlich nur eine hypothethische Einbruchsmöglichkeit.
zu register_globals: http://www.php.net/manual/de/security.registerglobals.php
Naja, mal abgesehen davon, daß Syntax und Grammatik bei dieser Adresse nicht ganz geglückt sind: eine Sicherheitswarnung kann ich dort nicht erkennen.
Nicht?
"Ein Feature von PHP zur Erhöhung der Sicherheit ist die Konfiguration von PHP mit register_globals = off. Mit Deaktivierung der Möglichkeit, irgendeine vom Benutzer übertragenen Variable in den PHP Code zu injizieren..."
Besonders den letzten Satzteil würde zumindest ich als Warnung verstehen.
Schöne Grüße
Johannes
Hallo
(wo hast du denn die letzten Wochen gesteckt ...)
Urlaub, Arbeitsamt, viel zu tun. ;-)
Du kannst dies in der php.ini bei register_globals: wieder zuschalten,
was aber _keinesfalls_ empfehlenswert ist.
Kannst du eine Begründung für deine apodiktische Aussage
_keinesfalls_
nachliefern? Wir haben mehrfach ähnlich gelagerte Anfragen in letzter Zeit gehabt, und der Hinweis auf "register_globals" kam bisher immer ohne jegliche Warnung, daß daran etwas riskant sein könnte.
Wenn ich's genau überleg': Läuft PHP auf _meinem_ Rechner (ohne Zugriff
von Außen), ist es egal, läuft es bei meinem Hoster habe ich keinen Einfluß
darauf. Dennoch, und das steht auch auf der unten verlinkten Seite, ist die
Einstellung "register_globals:off" ein Sicherheitsfeature (Einleitung der Seite).
Damit kann zumindest die Art der Übertragung einer Variable geprüft werden,
sprich, wenn Daten aus einem Post-Formular kommen sollen, kann geprüft werden,
ob sie auch wirklich mit _dieser_ Methode übertragen wurden.
Aber was red' ich, ... _das_ ist ja wohl bekannt. ;-)
zu register_globals: http://www.php.net/manual/de/security.registerglobals.php
Naja, mal abgesehen davon, daß Syntax und Grammatik bei dieser Adresse nicht ganz geglückt sind: eine Sicherheitswarnung kann ich dort nicht erkennen.
Der Link war ja auch als Einführung für die Gründe der standardmäßigen
Umstellung dieser Einstellung gedacht.
Grüße aus Berlin
Christoph S.
Grüße aus Berlin (Oberfriedrichshain) nach Berlin :-)
Tschö, Auge
In den neueren Versionen von PHP ist die globale Übergabe von Variablen
an das nächste Skript aus Sicherheitsgründen abgeschaltet.
Du kannst dies in der php.ini bei register_globals: wieder zuschalten,
was aber _keinesfalls_ empfehlenswert ist.
Ja das habe ich bei einem Blick in die php.ini auch schon bemerkt, leider hatte ich da diesen Thread schon gepostet ;)
Nun ja, ich habe vor zwei Jahren eine etwas komplexere Community-
Software geschrieben, da musste ich mit den "normalen" Variablen arbeiten. Ich habe jetzt auch keine Lust (geschweige denn Zeit *g*), um diese Sachen zu ändern. Es funktioniert ja auch so ;) Aber vielen Dank für deinen Hinweis.
bye. andre