Martin Moebius: $REMOTE_ADDR funktioniert nicht

Hallo,

ich nutze Apache mit PHP unter Linux:

Apache/2.0.54 (Debian GNU/Linux), mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-16 mod_ssl/2.0.54 OpenSSL/0.9.7e mod_perl/1.999.21 Perl/v5.8.4

In meinem PHP Skript versuche ich die IP Adresse auszulesen:

$ip =$REMOTE_ADDR

Dabei erhalte ich immer "" als Rückgabe, nur getenv('REMOTE_ADDR') funktioniert. An was kann das denn liegen?

Das ist ein großes Shopskript, das ich nicht nach allen $REMOTE_ADDR durchsuchen und ersetzen möchte, deswegen meine Frage.

  1. Hallo,

    In meinem PHP Skript versuche ich die IP Adresse auszulesen:
    $ip =$REMOTE_ADDR

    warum dann über die vordefinierten Variablen von anno Methusalem? In den heutigen PHP-Versionen gibt es für solche Informationen das superglobale Array $_SERVER[], und über das Element $_SERVER['REMOTE_ADDR'] erreichst du auch das Gewünschte.
    AFAIR ist es eine PHP-Konfigurationssache, ob die alten Variablen überhaupt noch vorgehalten werde oder nicht.

    Dabei erhalte ich immer "" als Rückgabe, ...

    Und eine Notice, da du error_reporting sicher auf E_ALL gesetzt hast.

    Das ist ein großes Shopskript, das ich nicht nach allen $REMOTE_ADDR durchsuchen und ersetzen möchte, deswegen meine Frage.

    Warum das? Search&Replace sollte doch so ziemlich jeder Editor beherrschen. Das kann ja sogar der Windows-Notepad.

    So long,
     Martin

    --
    Lieber Blödeleien als blöde Laien.
    1. warum dann über die vordefinierten Variablen von anno Methusalem? In den heutigen PHP-Versionen gibt es für solche Informationen das superglobale Array $_SERVER[], und über das Element $_SERVER['REMOTE_ADDR'] erreichst du auch das Gewünschte.
      AFAIR ist es eine PHP-Konfigurationssache, ob die alten Variablen überhaupt noch vorgehalten werde oder nicht.

      Wie kann ich denn erreichen, dass die alten Variablen noch vorgehalten werden?

      Und eine Notice, da du error_reporting sicher auf E_ALL gesetzt hast.

      Ja!

      Warum das? Search&Replace sollte doch so ziemlich jeder Editor beherrschen. Das kann ja sogar der Windows-Notepad.

      Bei mehreren hundert Dateien möchte ich das aber lieber so lösen, dass $ip =$REMOTE_ADDR funktioniert. Wie bekomm ich das denn hin?

      1. Hi,

        Wie kann ich denn erreichen, dass die alten Variablen noch vorgehalten werden?

        das wurde abgeschaltet, weil es sich um eine Sicherheitslücke handelt.

        Bei mehreren hundert Dateien möchte ich das aber lieber so lösen, dass $ip =$REMOTE_ADDR funktioniert. Wie bekomm ich das denn hin?

        Indem Du zuvor $REMOTE_ADDR deklarierst und initialisierst. Wenn Du ein Fenster einbauen möchtest, ist es _nicht_ empfehlenswert die Wand zu sprengen, nur weil es schneller geht.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Indem Du zuvor $REMOTE_ADDR deklarierst und initialisierst. Wenn Du ein Fenster einbauen möchtest, ist es _nicht_ empfehlenswert die Wand zu sprengen, nur weil es schneller geht.

          Wie mache ich denn das global, also wo ich es eintragen muss, damit es global für alle Dateien gilt sehe ich im Shop, allerdings mit welchem Befehl?

          Danke!

          1. hi,

            Wie mache ich denn das global, also wo ich es eintragen muss, damit es global für alle Dateien gilt sehe ich im Shop

            Beispielsweise, in dem du es in einer Scriptdatei notierst, die du per include/require in jedem Script einbindest.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }