Daniel82: IP mitschicken beim Formularabsenden in die Datenbank

Hallo,

wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?

  1. Moin

    Hallo,

    wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?

    meinst du die allgemeine PHP-Variable für die IP?

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ie:{ br:> fl:{ va:{ ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    1. Moin

      Hallo,

      wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?

      meinst du die allgemeine PHP-Variable für die IP?

      Gruß Bobby

      Sorry!

      1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">

      2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">

      3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">

      Welche ist richtig?

      1. Moin

        1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">

        2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">

        3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">

        Welche ist richtig?

        alle 3 sind nicht unbedingt falsch. Versichte aber bitte auf Short-tags.

        Richtig ist:
        <input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
                                                ^^^

        Gruß Bobby

        --
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
        ie:{ br:> fl:{ va:{ ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      2. hi,

        1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">

        2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">

        3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">

        Welche ist richtig?

        Alle drei unsinnig - weil sie die IP enthalten, die bei der Anforderung der Formularseite verwendet wurde.
        Mit der, von der die Formulardaten dann letztendlich abgeschickt werden, muss diese nichts zu tun haben.

        Entweder habe ich zwischendurch wirklich meine IP gewechselt - oder ich manipuliere den Feldinhalt vor dem Abschicken.

        Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.

        gruß,
        wahsaga

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

          1.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR']; ?>">

          2.) <input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>">

          3.) <input type="hidden" name="ip" value="<? $_SERVER['REMOTE_ADDR'] ?>">

          Welche ist richtig?

          Alle drei unsinnig - weil sie die IP enthalten, die bei der Anforderung der Formularseite verwendet wurde.
          Mit der, von der die Formulardaten dann letztendlich abgeschickt werden, muss diese nichts zu tun haben.

          Entweder habe ich zwischendurch wirklich meine IP gewechselt - oder ich manipuliere den Feldinhalt vor dem Abschicken.

          Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.

          gruß,
          wahsaga

          Also, im INSERT INTO?

          1. Hallo Daniel,

            Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.

            Also, im INSERT INTO?

            Ja. (bzw. in dem Script mit dem du die Daten in die Datenbank einträgst.)

            Schöne Grüße,

            Johannes

            1. Hallo Daniel,

              Nimm dir den Wert einfach zu dem Zeitpunkt aus $_SERVER, zu dem du die Daten tatsächlich in die Datenbank einträgst, also den Request mit den Formulardaten verarbeitest.

              Also, im INSERT INTO?

              Ja. (bzw. in dem Script mit dem du die Daten in die Datenbank einträgst.)

              Schöne Grüße,

              Johannes

              $strSQL = "INSERT INTO setzen (ip) VALUES ('".$_SERVER."');";

              So?

              1. Hallo Daniel,

                $strSQL = "INSERT INTO setzen (ip) VALUES ('".$_SERVER."');";

                Nein, $_SERVER ist doch ein Array. Die IP-Adresse steht in $_SERVER['REMOTE_ADDR']. Das Semikolon in der SQL-Anweisung kannst du übrigens weglassen.

                Schöne Grüße,

                Johannes

  2. <input type="hidden" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">

    mfg doc

  3. Hallo Daniel,

    wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?

    ich vermute, Du möchtest die öffentliche IP-Adresse, über die der Browser mit Deinem Server kommuniziert, abspeichern. Dann kann Dir $_SERVER['REMOTE_ADDR'] weiterhelfen.

    Bitte beachte auch folgenden Satz in der verlinkten Doku:

    "Möglicherweise finden Sie das eine oder andere der folgenden Elemente nicht in $_SERVER."

    Freundliche Grüße

    Vinzenz

    1. Hallo Ingrid,

      Du solltest nicht Deine wichtigen Fragen vergessen :-)

      wie muss das hidden-input-Feld bestückt werden, wenn ich die IP in die Datenbank schicken lassen will?

      warum möchtest Du ein Input-Feld mit einer Information befüllen, die Dir bereits zur Verfügung steht und sie wieder zum Browser zurückschicken? Welchen Sinn hat das?

      ich vermute, Du möchtest die öffentliche IP-Adresse, über die der Browser mit Deinem Server kommuniziert, abspeichern. Dann kann Dir $_SERVER['REMOTE_ADDR'] weiterhelfen.

      Bitte beachte weiterhin, dass z.B. zwei aufeinanderfolgende Anforderungen des _gleichen_ AOL-Benutzers über verschiedene Proxies geleitet werden können (und auch oft werden) und daher unterschiedliche IP-Adressen aufweisen, d.h. wenn Du ein hidden-input-Feld verwendest, kann es passieren, dass sich die IP-Adresse im hidden-input-Feld von der in $_SERVER['REMOTE_ADDR'] unterscheidet.

      Aus den genannten zwei Gründen würde ich auf den hidden-input-Kram verzichten.

      Freundliche Grüße

      Vinzenz

      1. hi,

        d.h. wenn Du ein hidden-input-Feld verwendest, kann es passieren, dass sich die IP-Adresse im hidden-input-Feld von der in $_SERVER['REMOTE_ADDR'] unterscheidet.

        Ausserdem könnte ich als Nutzer den Wert vor dem Absenden des Formulars manipulieren, um dir vorzugaukeln, der V1agra-Spam, den ich gerade gepostet habe, käme von einer IP in Südostasien ...

        gruß,
        wahsaga

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