Wie IP übermitteln???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie IP übermitteln???

    Moin PHP-Freaks,

    nachdem ich die Forensuche "vergewaltigt" habe, aber leider nichts passendes gefunden habe, frage ich euch Profis doch einfach mal...
    Wie bekomme ich das hin, dass mein Kontaktformular, bzw. die zugehörige PHP Datei mir mitteilt, welche IP Adresse der Verfasser der Mail hat?
    Ich habe doch zunehmend die Erfahrung gemacht, dass irgendwelche "Spaßmailer" mir irgendwelchen Schwachsinn zugeschickt haben und deshalb habe ich das Kontaktformular wieder offline gestellt, möchte es aber gerne wieder nutzen können, halt nur mit IP Auslesen des Verfassers - geht das ?
    Wenn ja, wie ???
    Mein PHP Wissen ist da doch sehr beschränkt :-)

    Hier erstmal der Quellcode:

    PHP Code:
    <?

    $name = $_POST['name'];
    $mail = $_POST['mail'];
    $kommentar = $_POST['kommentar'];
    $name = strip_tags($name);
    $name = htmlentities($name);
    $mail = strip_tags($mail);
    $mail = htmlentities($mail);
    $kommentar = strip_tags($kommentar);
    $kommentar = htmlentities($kommentar);



    $webmaster = "deine@email.com";



    $betreff = "Kontakt ueber Internetseite";



    $mailfalsch = "<p class=ueber1>Fehler</p><p>Leider ist die E-Mail-Adresse falsch</p><p>Bitte kontrollieren Sie noch einmal Ihre Eingabe und senden das Formular erneut ab.";



    $felderleer = "<p class=ueber1>Fehler</p><p>Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefuellt worden sind.</p>";



    $abgesandt = "<p class=ueber1>Vielen Dank!</p><p>Sie haben das Kontaktformular erfolgreich an uns geschickt! Wir werden in Kuerze mit Ihnen Kontakt aufnehmen. </p>";



    $koerper = "$name mit der E-Mail Adresse $mail hat eine Nachricht ueber das Kontaktformular geschrieben.
            
        Nachricht von $name: 
        
        $kommentar: 
        
        ";

    if ($name == "" || $mail =="" || $kommentar =="")

        {    
        echo "$felderleer";
        }
            else
                {
                if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mail))
                    {
                    mail("$webmaster","$betreff","$koerper\n","FROM: $betreff");                    
                        {
                        echo "$abgesandt";
                        }
                    }
                    else
                    {
                        echo "$mailfalsch";
                    }                
            }
    ?>
    Ach ja, als Absender der E-Mail steht immer die Adresse des Servers in E-Mailadressen umgewandelt, z.B. Max@server.de, mustermann@server.de, nachricht@server.de usw.

    Vielen Dank für eure Antworten schonmal im Vorfelde.

    Schönen Abend noch !

    Gruß,

    Psycho

  • #2
    Re: Wie IP übermitteln???

    Original geschrieben von PsychoScorpion
    nachdem ich die Forensuche "vergewaltigt" habe, aber leider nichts passendes gefunden habe, frage ich euch Profis doch einfach mal...
    wonach hast du denn gesucht?

    $ip=$_SERVER['REMOTE_ADDR'];

    ist nur die frage, was du jetzt von der ip hast.

    Comment


    • #3
      Das weiß ich ja eben selber nicht genau, wonach ich suche, da mein Wissenstand erschöpft ist :-)

      Zudem ist es ja so, dass mein Server immer als Absender in den Mails steht - steht dann nun auch die Server IP da drin?

      Wo baue ich die Zeile denn am besten ein?

      Gruß,

      Psycho

      Comment


      • #4
        PHP Code:
        $koerper "$name mit der E-Mail Adresse $mail hat eine Nachricht ueber das Kontaktformular geschrieben.
                
            Nachricht von 
        $name
            
            
        $kommentar
            
            "
        ;
        $koerper .= 'User benutzte IP: '.$_SERVER['REMOTE_ADDR']; 
        z.B. hier könntest du es einbauen.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Comment


        • #5
          Hey, danke für die schnelle Antwort :-)
          Sagt mal, bekomme ich es irgendwie hin, dass sich das Statusfenster - nach dem Versand der Nachricht - als Popup öffnet, und vor allem, dass sich die Formularfelder automatisch nach erfolgreichem Abschicken der Nachricht leeren, bzw. dass der "Absender" nach dem erfolgreichen Absenden der Nachtricht auf eine andere Seite weitergeleitet wird?

          Ich bin in solchen Sachen ein echter Noob :-)

          Ach ja, wie bekomme ich es hin, dass der Absender der Nachricht nicht die Domain des Servers ist, sondern die E-Mailadresse des wirklichen "Absenders"?

          So, nun habe ich genug Löcher in den Bauch gefragt :-)

          Nun muss ich Ackern... *kotz*

          Lg,

          Psycho

          Comment


          • #6
            bekomme ich es irgendwie hin, dass sich das Statusfenster - nach dem Versand der Nachricht - als Popup öffnet
            mit selfhtml und Javascript kein Problem
            dass der "Absender" nach dem erfolgreichen Absenden der Nachtricht auf eine andere Seite weitergeleitet wird?
            mit header() kein Problem
            Ach ja, wie bekomme ich es hin, dass der Absender der Nachricht nicht die Domain des Servers ist, sondern die E-Mailadresse des wirklichen "Absenders"?
            imho willst du das nicht wirklich, denn wenn die Email von einem Server kommt, dessen Name nicht zu einem für die Absenderdomain zuständigen Mailserver gehört, dann werten das viele Mailserver bereits als Spamkirterium.

            Gruss

            tobi

            p.s. bitte brich auch noch den Code in deinem ersten Posting um !
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Comment


            • #7
              Original geschrieben von jahlives
              mit selfhtml und Javascript kein Problem


              imho willst du das nicht wirklich, denn wenn die Email von einem Server kommt, dessen Name nicht zu einem für die Absenderdomain zuständigen Mailserver gehört, dann werten das viele Mailserver bereits als Spamkirterium.

              Gruss

              tobi

              p.s. bitte brich auch noch den Code in deinem ersten Posting um !
              was bei meinem server funktioniert und mir das leben ein wenig einfach macht: ich habe die mailadresse als reply_to eingesetzt - die webmails sind somit recht fix beantwortet ich weiß, schmutzig, aber klappt (noch)


              aber warum ich eigentlich antworte: dadurch, dass du die ip nun am ende der mail angezeigt bekommst hast du noch nichts gewonnen.
              du musst die ip zusammen mit einer zeitangabe eigentilch in eine db (oder .txt) schreiben und die ip durch abfrage dieser db temporär "sperren"...
              **********
              arkos
              **********

              Comment


              • #8
                hmmm ... guter tipp - ich versuche mal etwas damit anzufangen :-)

                nur zur allgemeinen info:

                wie kann ich eigentlich bewirken, dass der absender - oder vermeintliche absender - eine kopie der nachricht erhällt?

                muss ich da beim e-mailempfänger mit ; getrennt noch eine variable einbauen?

                wenn ja, wie ? :-)

                Comment


                • #9
                  das trennen wäre eine möglichkeit. da du dem absender aber in der regel einen anderen inhalt sendest (zb. ohne den zusatz seine ip, oder einen text ala "wir haben ihre mail erhalten", sollten du ganz einfach den mail() befehl ein zweites mal mit absenderadresse als empfänger ausführen...
                  **********
                  arkos
                  **********

                  Comment


                  • #10
                    Moin PHP-Freaks :-)

                    So, nun bin ich bräunlich wieder aus dem Urlaub zurück und muss echt darüber staunen, wie ihr meinen Beitrag so zahlreich beantwortet habt !

                    DANKE !

                    Natürlich melde ich mich mal wieder, weil ich etwas will - wie war es auch anders zu erwarten ??? :-)

                    Das Kontaktformular öffnet ja nach dem Absenden die Bestätigungseite, diese aber total leer ist...

                    Ist es möglich, dem Kontaktformular irgendwie mitzuteilen, dass es eine HTML Seite öffnen soll, diese schon fertig rumliegt?

                    Quasi:

                    Nach ERFOLGREICHEM Absenden soll das Formular die Seite "erfolgreich.html" öffnen.

                    Oder nach FEHLERHAFTER Angabe soll da Formular die Seite "nicht_erfolgreich.html" öffnen.

                    etc, etc, etc...

                    Wäre das möglich??

                    Was ich noch nicht kappiere ist, wie der Befehl Mail() zu handhaben ist.

                    Will ich z.B., dass der Absender eine Kopie - oder einen Auszug - der Mail bekommt, so muss ich doch eine komplette, auf den Absender zugeschnitte Mailvorlage in das Script schreiben, oder?

                    Gruß,

                    der Psycho

                    Comment


                    • #11
                      ich habe die mailadresse als reply_to eingesetzt - die webmails sind somit recht fix beantwortet ich weiß, schmutzig, aber klappt (noch)
                      Wieso schmutzig? Und wieso noch?

                      Und, threadopener: Bitte, vielleicht schaffst du es ja jetzt, deinen Code gemäß unseren Regeln umzubrechen.
                      Last edited by TobiaZ; 17-05-2007, 12:14.

                      Comment

                      Working...
                      X