+ Antworten
Ergebnis 1 bis 10 von 10

Thema: IP aus Kontaktformular auslesen

  1. #1
    Neu an Board
    Registriert seit
    16.12.2005
    Beiträge
    33
    Bedankte sich
    7
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Frage IP aus Kontaktformular auslesen

    Hallo,
    habe hier ein Größeres Problem.
    Ich benutze Joomla! 1.5.14 Stable.
    Seit Monaten bekomme ich über mein Kontaktformular Drohmails.
    Mittlerweile kommt da von Bombendrohungen bis Morddrohungen alles.
    Nun habe ich Anzeige bei der Polizei erstattet, diese brauchen aber dringend die IP Adressen der Email-Verfasser.
    Ich habe das normale Kontaktformular drauf, das Standard mäßig Installiert war.
    Dort kann mann sich ja nicht die IP Adresse anzeigen lassen. Wie kann ich das ändern?
    Wäre nett wenn ihr mir helfen könntet.

    Danke im Voraus
    Geändert von theevilomen (19.06.2011 um 20:30 Uhr)

  2. #2
    Wohnt hier Avatar von Joomla-Hilfe
    Registriert seit
    12.08.2010
    Beiträge
    3.668
    Bedankte sich
    78
    Erhielt 1.094 Danksagungen
    in 874 Beiträgen

    Standard

    Sieh in die Logdaten des Servers. Die genaue Uhrzeit steht im Mailheader, allerdings die, zu der das Formular abgeschickt wurde. Im Serverlog mußt du also kurz davor suchen, wann das Kontaktformular aufgerufen wurde.
    Danke?

    Keine Macht den Facebutts!
    "Dinner for one ist jeden Tag" oder "Und täglich grüßt das Murmeltier"

  3. #3
    Neu an Board
    Registriert seit
    16.12.2005
    Beiträge
    33
    Bedankte sich
    7
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Danke für die schnelle Antwort.
    Habe die Log-Dateien gefunden und ausgewertet.
    Ich werde die dort gefundenen IP-Adressen an die Behörden weiter geben.
    mal sehen ob es was Hilft.
    Habe natürlich die Mail-Header der Emails auch mit geschickt.


    Danke

  4. #4
    Gute Seele des Boards Avatar von keraM
    Registriert seit
    12.03.2006
    Ort
    Dresden
    Beiträge
    10.581
    Bedankte sich
    152
    Erhielt 2.557 Danksagungen
    in 2.359 Beiträgen

    Standard

    Ein Update auf das aktuelle Joomla 1.5.23 wäre ratsam.
    Gruß keraM
    Joomla-FAQ: --> Klick!
    Support per PN: --> Klick!

  5. Erhielt Danksagungen von:


  6. #5
    Verbringt hier viel Zeit Avatar von Sieger66
    Registriert seit
    23.05.2010
    Beiträge
    628
    Bedankte sich
    5
    Erhielt 147 Danksagungen
    in 140 Beiträgen

    Standard

    Ändere die Datei controller.php im Ordner components\com_contact entsprechend den Änderungen im nachfolgendem Code und du bekommst automatisch auch die IP des Absenders mitgesendet ohne das dieser dies bemerkt.
    (Code ist für die aktuelle 1.5.23 gültig und ab 21.02.2010)

    Für die 1.5.14 müßte man die Änderungen an der entspechend Stelle ebenfalls wohl in der Datei controller.php im Ordner components\com_contact entsprechen "einbauen".

    PHP-Code:
    // Initialize some variables
            
    $db            = & JFactory::getDBO();
            
    $SiteName    $mainframe->getCfg('sitename');

            
    $default    JText::sprintf'MAILENQUIRY'$SiteName );
            
    $contactId    JRequest::getInt'id',            0,            'post' );
            
    $name        JRequest::getVar'name',            '',            'post' );
            
    $email        JRequest::getVar'email',        '',            'post' );
            
    $subject    JRequest::getVar'subject',        $default,    'post' );
            
    $body        JRequest::getVar'text',            '',            'post' );
            
    $bodykopie    JRequest::getVar'text',            '',            'post' );
            
    $emailCopy    JRequest::getInt'email_copy',     0,            'post' );

            
    $vonipAdresse    "IP-Adresse: ".$_SERVER['REMOTE_ADDR']."   Name: ";

             
    // load the contact details
            
    $model        = &$this->getModel('contact');

            
    // query options
            
    $qOptions['id']    = $contactId;
            
    $contact        $model->getContact$qOptions );

            if(
    $contact->email_to == '' && $contact->user_id != 0)
            {
                
    $contact_user JUser::getInstance($contact->user_id);
                
    $contact->email_to $contact_user->get('email');
            }

            
    /*
             * If there is no valid email address or message body then we throw an
             * error and return false.
             */
            
    jimport('joomla.mail.helper');
            if (!
    $email || !$body || (JMailHelper::isEmailAddress($email) == false))
            {
                
    $this->setError(JText::_('CONTACT_FORM_NC'));
                
    $this->display();
                return 
    false;
            }

            
    // Contact plugins
            
    JPluginHelper::importPlugin'contact' );
            
    $dispatcher    =& JDispatcher::getInstance();

            
    // Input validation
            
    if  (!$this->_validateInputs$contact$email$subject$body ) ) {
                
    JError::raiseWarning0$this->getError() );
                return 
    false;
            }

            
    // Custom handlers
            
    $post        JRequest::get'post' );
            
    $results    $dispatcher->trigger'onValidateContact', array( &$contact, &$post ) );

            foreach (
    $results as $result)
            {
                if (
    JError::isError$result )) {
                    return 
    false;
                }
            }

            
    // Passed Validation: Process the contact plugins to integrate with other applications
            
    $results    $dispatcher->trigger'onSubmitContact', array( &$contact, &$post ) );

            
    $pparams = &$mainframe->getParams('com_contact');
            if (!
    $pparams->get'custom_reply' ))
            {
                
    $MailFrom     $mainframe->getCfg('mailfrom');
                
    $FromName     $mainframe->getCfg('fromname');

                
    // Prepare email body
                
    $prefix JText::sprintf('ENQUIRY_TEXT'JURI::base());
                
    $body     $prefix."\n".$vonipAdresse.$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);
                
    $bodykopie     $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($bodykopie);


                
    $mail JFactory::getMailer();

                
    $mail->addRecipient$contact->email_to );
                
    $mail->setSender( array( $email$name ) );
                
    $mail->setSubject$FromName.': '.$subject );
                
    $mail->setBody$body );

                
    $sent $mail->Send();

                
    /*
                 * If we are supposed to copy the admin, do so.
                 */
                // parameter check
                
    $params = new JParameter$contact->params );
                
    $emailcopyCheck $params->get'show_email_copy');

                
    // check whether email copy function activated
                
    if ( $emailCopy && $emailcopyCheck )
                {
                    
    $copyText         JText::sprintf('Copy of:'$contact->name$SiteName);
                    
    $copyText         .= "\r\n\r\n".$bodykopie;
                    
    $copySubject     JText::_('Copy of:')." ".$subject;

                    
    $mail JFactory::getMailer();

                    
    $mail->addRecipient$email );
                    
    $mail->setSender( array( $MailFrom$FromName ) );
                    
    $mail->setSubject$copySubject );
                    
    $mail->setBody$copyText );

                    
    $sent $mail->Send();
                }
            }

            
    $msg JText::_'Thank you for your e-mail');
            
    $link JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslugfalse);
            
    $this->setRedirect($link$msg);
        }

        
    /**
         * Method to output a vCard
         *
         * @static
         * @since 1.0
         */ 
    Insbesondere die neu hinzugefügte Variable $vonipAdresse gibt diese Angabe weiter.
    Und die neue Variable $bodykopie sorgt auch dafür das der Absender dies nicht bemerkt !

    Dies ist aber ein Änderung des Joomla-Core und deshalb mußt du die Änderung nach jedem weiteren Update auf Funktion bzw. Überschreiben der Datei controller.php durch das Update prüfen.

    Nachfolgend noch als Anhang die komplette geänderte controller.php bei der nur noch der Dateiname von controller.php.doc in controller.php geändert werden muß um sie zu benutzen:

    controller.php.doc

    Geändert von Sieger66 (18.06.2011 um 11:13 Uhr) Grund: Wichtige Ergänzung
    Gelöstes Problem bitte so markieren http://www.joomlaportal.de/forenrege...tel-ndern.html
    Fragen und Antworten zu Joomla 1.5 -1.7 in den Joomla FAQ
    - Danke für den Klick auf Danke

  7. #6
    Neu an Board
    Registriert seit
    16.12.2005
    Beiträge
    33
    Bedankte sich
    7
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    Hallo,
    danke für eure Mühe.
    Habe erfolgreich auf 1.5.23 updatet installiert und anschließend die controller.php überschrieben.
    Es funzt Super. IP-Adresse wird in der Mail angezeigt.
    Cool ist, wenn der Verfasser sich eine Kopie schicken lässt, wird in dieser Mail die IP nicht angezeigt.
    Nochmal vielen Dank dafür.

    MfG TEO

  8. #7
    Verbringt hier viel Zeit Avatar von Sieger66
    Registriert seit
    23.05.2010
    Beiträge
    628
    Bedankte sich
    5
    Erhielt 147 Danksagungen
    in 140 Beiträgen

    Standard

    Dafür gibt es auch den Button "Bedanke Dich"



    Zitat Zitat von theevilomen Beitrag anzeigen
    Cool ist, wenn der Verfasser sich eine Kopie schicken lässt, wird in dieser Mail die IP nicht angezeigt.
    Das war ja eben der Hauptgrund für die kleine Änderung und ist das schöne an PHP kleine Änderung große Wirkung.
    Gelöstes Problem bitte so markieren http://www.joomlaportal.de/forenrege...tel-ndern.html
    Fragen und Antworten zu Joomla 1.5 -1.7 in den Joomla FAQ
    - Danke für den Klick auf Danke

  9. #8
    Wohnt hier Avatar von Joomla-Hilfe
    Registriert seit
    12.08.2010
    Beiträge
    3.668
    Bedankte sich
    78
    Erhielt 1.094 Danksagungen
    in 874 Beiträgen

    Standard

    Zitat Zitat von theevilomen Beitrag anzeigen
    Cool ist, wenn der Verfasser sich eine Kopie schicken lässt, wird in dieser Mail die IP nicht angezeigt.
    Was ist daran cool, daß ein Spamopfer nicht mal die IP-Adresse erfährt, von der aus es belästigt wird, und deinen Server (also letztendlich dich) für den Verursacher hält und Unterlassung fordert?

    Als Absenderadresse kann jede beliebige Adresse eingetragen werden. Mach dir selbst die Möglichkeiten für Spammer klar, wenn die Option "Kopie an Absender schicken" eingeschaltet ist.
    Danke?

    Keine Macht den Facebutts!
    "Dinner for one ist jeden Tag" oder "Und täglich grüßt das Murmeltier"

  10. #9
    Verbringt hier viel Zeit Avatar von Sieger66
    Registriert seit
    23.05.2010
    Beiträge
    628
    Bedankte sich
    5
    Erhielt 147 Danksagungen
    in 140 Beiträgen

    Standard

    Da theevilomen die Mail aber auch erhält würde er bald bemerken das sein Kontaktformular für SPAM missbraucht wird.
    Und dann hat er zumindest in der Mail die IP und im Mail-Header Datum und Uhrzeit womit sich der Verursacher ermitteln lässt.

    Dem Spamopfer könnte er somit zumindest diese Daten zu Verfügung stellen und damit helfen.

    Auf jeden Fall besser als zuvor.

    Da es bei seiner Anfrage außerdem um Bombendrohungen bis Morddrohungen geht ist es besser nichts am erscheinen der Site zu verändern um den Spam-Verursacher in "Sicherheit" glauben zu lassen.

    Abschalten kann er die Option "Kopie an Absender schicken" natürlich auch jederzeit.
    Geändert von Sieger66 (20.06.2011 um 17:44 Uhr)
    Gelöstes Problem bitte so markieren http://www.joomlaportal.de/forenrege...tel-ndern.html
    Fragen und Antworten zu Joomla 1.5 -1.7 in den Joomla FAQ
    - Danke für den Klick auf Danke

  11. #10
    Wohnt hier Avatar von Joomla-Hilfe
    Registriert seit
    12.08.2010
    Beiträge
    3.668
    Bedankte sich
    78
    Erhielt 1.094 Danksagungen
    in 874 Beiträgen

    Standard

    Zitat Zitat von Sieger66 Beitrag anzeigen
    Dem Spamopfer könnte er somit zumindest diese Daten zu Verfügung stellen und damit helfen.
    Könnte er, aber ich sehe trotzdem keinen Sinn darin, einem korrekten Absender die eigenen Daten vorzuenthalten bzw. einem Spamopfer die IP des tatsächlichen Verursachers nur auf Nachfrage mitzuteilen.

    Auf jeden Fall besser als zuvor.
    Stimmt, aber noch nicht optimal.

    Abschalten kann er die Option "Kopie an Absender schicken" natürlich auch jederzeit.
    Das war als allgemeiner Hinweis an alle Nutzer des Kontaktformulars gedacht. Den Spammern ist diese Funktion bekannt und sie wird auch tatsächlich sporadisch genutzt. Ein großer Teil der Joomla User ist zu ... ähm ... unbedarft, um den Zusammenhang zu realisieren und zu erkennen, daß damit nicht nur das eigene Postfach vollgemüllt wird, sondern auch das von völlig Unbeteiligten. Erst wenn sie von einem Anwalt aufgefordert werden, den Spam zu unterlassen und seine Rechnung zu begleichen, kommt die Erkenntnis und gleichzeitig das Geheule über die böse Anwaltsrechnung, obwohl "man doch gar nichts gemacht hat".
    Danke?

    Keine Macht den Facebutts!
    "Dinner for one ist jeden Tag" oder "Und täglich grüßt das Murmeltier"

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein