Sorgenkind mech: $REMOTE_ADDR ergibt bei php die ip des servers?

moin leutz

ich hab hier gerade folgendes prob:
hier steht n server mit nem apache, keine ahnung welche version, läuft unter linux

und n netzwerk is hier auch noch
so, jetz sollen aber benutzer mit bestimmten ips aber eine andere startseite haben als die mit halt wiederum anderen ips

wenn ich nun mit php die variable $REMOTE_ADDR ausgeben lasse, ist dies aber die ip des servers, und nicht die des clienten

weiß jemand woran das liegt, oder alternativen?

danke schonma im voraus

  1. Hallo!

    wenn ich nun mit php die variable $REMOTE_ADDR ausgeben lasse, ist dies aber die ip des servers, und nicht die des clienten

    Vielleicht hängt da irgendwo ein Proxy dazwischen, ist z.B. bei kostenlosen SSL-Proxies vieler Provider der Fall.

    Grüße
    Andreas

    1. Hi Andreas,

      Vielleicht hängt da irgendwo ein Proxy dazwischen, ist z.B. bei kostenlosen SSL-Proxies vieler Provider der Fall.

      wenn dies der Fall wäre, dann könnte es interessant sein, sich die restlichen HTTP-Header anzusehen.
      Manche Proxies fügen nämlich proprietäre Header hinzu, um trotz dieser Umsetzung die Original-Information zu erhalten - ich habe da schon Sachen wie "X-Forwarded-For" etc. gesehen ...

      Viele Grüße
            Michael

      --
      T'Pol: I apologize if I acted inappropriately.
      V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
      (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
       => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
      Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
      1. Moin!

        wenn dies der Fall wäre, dann könnte es interessant sein, sich die restlichen HTTP-Header anzusehen.
        Manche Proxies fügen nämlich proprietäre Header hinzu, um trotz dieser Umsetzung die Original-Information zu erhalten - ich habe da schon Sachen wie "X-Forwarded-For" etc. gesehen ...

        Squid fügt sowohl den offiziellen Header "Via" hinzu, als auch den Header "X-Forwarded-For". Allerdings kann man ausschalten, dass da die IP reingeschrieben wird, dann steht da nur "unknown".

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
        1. Hi!

          wenn dies der Fall wäre, dann könnte es interessant sein, sich die restlichen HTTP-Header anzusehen.
          Manche Proxies fügen nämlich proprietäre Header hinzu, um trotz dieser Umsetzung die Original-Information zu erhalten - ich habe da schon Sachen wie "X-Forwarded-For" etc. gesehen ...

          Squid fügt sowohl den offiziellen Header "Via" hinzu, als auch den Header "X-Forwarded-For". Allerdings kann man ausschalten, dass da die IP reingeschrieben wird, dann steht da nur "unknown".

          Naja, dann ist man wohl mit einem PHP in Modul-Version klar im Vorteil, denn nur hier kommt man an alle Header(getallheaders oder sowas). Oder übersetzt PHP sowas automatisch in $_SYSTEM Werte? Für POST Requests gibt es da ja noch stdin...

          Grüße
          Andreas

          1. Hi Andreas,

            Naja, dann ist man wohl mit einem PHP in Modul-Version klar im Vorteil, denn nur hier kommt man an alle Header(getallheaders oder sowas). Oder übersetzt PHP sowas automatisch in $_SYSTEM Werte?

            http://hoohoo.ncsa.uiuc.edu/cgi/env.html#headers

            Kommt man da mit PHP etwa nicht ran?

            Viele Grüße
                  Michael

            --
            T'Pol: I apologize if I acted inappropriately.
            V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
            (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
             => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
            Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
            1. tja ........

              also heißt das alles jetz im klartext, dass ich da nix machen kann?
              auch nich mit js oder sonstwas?

              wär ziemlich doof, weil das büro auch mit dem server arbeitet, und diese startseuite für den öffentlichen raum nich sehen brauchen, bzw. diese seite im büro hindert, daher wollte ich, wenn das büro zugreift

              naja ........

              danke erstma, bis denn dann

              1. Hi Sorgenkind mech,

                also heißt das alles jetz im klartext, dass ich da nix machen kann?

                nein, das heißt es offensichtlich noch nicht.

                auch nich mit js oder sonstwas?

                Weder mit "js" noch mit "sonstwas" wirst Du HTTP-Informationen sinnvoll verarbeiten können (zumal Du ja eine Verarbeitung auf dem Server benötigst, was JavaScript praktisch ausschließt).

                Die entscheidende Frage ist, ob diejenigen Informationen, die Du verarbeiten willst, überhaupt auf Deinem Server ankommen oder nicht.
                Und diese Frage ist bisher noch nicht abschließend beantwortet - im Moment tragen wir Informationen aus verschiedenen Fachgebieten zusammen, um ein Verfahren zu entwickeln, was diese Antwort liefern könnte.

                Viele Grüße
                      Michael

                --
                T'Pol: I apologize if I acted inappropriately.
                V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
                (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
                 => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
                Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
              2. Hallo!

                also heißt das alles jetz im klartext, dass ich da nix machen kann?
                auch nich mit js oder sonstwas?

                Ich habe es gerade mal überprüft, die Daten stehen in den Umgebungsvariablen. In $_SYSTEM und $_ENV findest Du entsprechende Elemente. Was genau Du alles empfängst guckst Du am besten mit phpinfo() nach. Ich habe es nur mal eben mit einem Proxy von Tiscali probiert, und die filtern z.B. meine IP. Wenn ich aber über HTTPS zugreife wird die IP mitübertragen, selbiges gilt für den SSL-Proxy meines Providers.

                Wußte ich gar nicht, interessant...

                Grüße
                Andreas

                1. Moin!

                  Ich habe es nur mal eben mit einem Proxy von Tiscali probiert, und die filtern z.B. meine IP. Wenn ich aber über HTTPS zugreife wird die IP mitübertragen, selbiges gilt für den SSL-Proxy meines Providers.

                  Logisch. SSL ist eine verschlüsselte End-zu-End-Verbindung. Ein SSL-Proxy darf da gar nichts verändern und sich z.B. als eigener User-Agent an die Stelle setzen, sondern leitet die Pakete nur weiter.

                  Ansonsten könnte man einen SSL-Proxy wunderbar für Man-in-the-Middle-Attacken mißbrauchen. Und das darf natürlich nicht sein.

                  - Sven Rautenberg

                  --
                  ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|