Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 17.05.2008, 17:17   #1 (permalink)
PostRank: 4
 
Benutzerbild von tokyopunk
 
Registriert seit: 08.05.2006
Beiträge: 234
eMail-Benachrichtigung bei bestimmter IP-Adresse?

Hi ihr,

gibt es ein ein Plugin oder eine andere Möglichkeit sich per eMail automatisch benachrichtigen zu lassen, wenn bestimmte IP-Adressen den Blog besuchen? Habe übrigens semmelstatz aktiviert, falls das etwas bringt.

Grüße, Marcel
__________________
www.amypink.com
tokyopunk ist offline   Mit Zitat antworten
Alt 17.05.2008, 21:08   #2 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 2.401
Auf die Schnelle. Die Email wird nur einmal pro Besuch verschickt (es sei denn, du stehst auf Email-Spam ), also nicht bei jedem Zugriff auf jede Seite pro Session. Sobald derjenige den Browser schließt, wird das Cookie gelöscht, und beim nächsten Aufruf deiner Seite wird erneut nur einmal eine E-Mail verschickt.

Anpassen musst du nur diese Zeile:
PHP-Code:
$notify_ips = array("xxx.xxx.xxx.xxx"); 
Wenn du mehrere IPs checken willst, einfach die Liste erweitern, z.B.:
PHP-Code:
$notify_ips = array("xxx.xxx.xxx.xxx""xxx.xxx.xxx.xxx""xxx.xxx.xxx.xxx"); 
Das Plugin:
PHP-Code:
<?php
/*
Plugin Name: IP Access Notification
Version: 0.7
Plugin URI: http://forum.wordpress-deutschland.org/plugins-und-widgets/34672-email-benachrichtigung-bei-bestimmter-ip-adresse.html
Description: Verschickt eine Email an den Blog-Admin, wenn ein Besucher mit der angebenen IP den Blog aufruft.
Author: Oliver Schl&ouml;be
Author URI: http://www.schloebe.de/
*/

function os_ip_check() {
    
$visitor_ip $_SERVER['REMOTE_ADDR'];
    
$zugriff_ort $_SERVER['REQUEST_URI'];
    
$notify_ips = array("xxx.xxx.xxx.xxx"); // Welche IPs sollen gecheckt werden
    
if ( in_array$visitor_ip$notify_ips ) ) {
        
$absender get_option('admin_email');
        
$empfaenger get_option('admin_email');
        
$betreff "Neuer Zugriff von IP " $visitor_ip " auf " wp_specialcharsget_option('blogname') );
        
$headers "From: " wp_specialcharsget_option('blogname') ) . " <$absender>\n";
        
$headers .= "Content-Type: text/html\n";
        
$headers .= "Content-Transfer-Encoding: 8bit\n";
        
$mailtext "Neuer Zugriff auf " wp_specialcharsget_option('blogname') ) . " mit der IP " $visitor_ip " auf die Seite " $zugriff_ort;
        
$sanitized_blogtitle sanitize_titleget_option('blogname') );
        if( !isset( 
$_COOKIE["wp_" $sanitized_blogtitle "_ip_access"] ) ) {
            
setcookie"wp_" $sanitized_blogtitle "_ip_access"$visitor_ip );
            
mail($empfaenger$betreff$mailtext$headers);
        }
    }
}

add_action('init''os_ip_check');
?>
Im wp-content/plugins - Verzeichnis ein Verzeichnis ip-access-notification anlegen, darin eine Datei ip-access-notification.php erstellen und den obigen Code einfügen. Plugin aktivieren, fertig.
__________________
FAQ // Doku // Erbreiterungen

Geändert von Alphawolf (18.05.2008 um 13:12 Uhr).
Alphawolf ist offline   Mit Zitat antworten
Alt 18.05.2008, 10:07   #3 (permalink)
PostRank: 4
 
Benutzerbild von tokyopunk
 
Registriert seit: 08.05.2006
Beiträge: 234
Hi Alphawolf,

das ist ja mal echt toll, danke für die Antwort und dass du auch noch gleich ein Plugin erstellt hast, wow

Jetzt mal ne blöde Frage und zwar: Ist es auch technisch möglich, nicht die IP-Adresse als Auslöser zu nehmen, sondern einen bestimmten Kommentator, dessen semmelstatz-cookie ja gespeichert ist? Denn die letzten 5 Ziffern der IP-Adresse tauschen sich aus. Also dass wenn dieser bestimmte Kommentator die Seite besucht, dass dann eine eMail-Benachrichtigung erfolgt?

Grüße, Marcel
__________________
www.amypink.com
tokyopunk ist offline   Mit Zitat antworten
Alt 18.05.2008, 13:14   #4 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 2.401
Ja, ist sicherlich auch möglich, aber dazu müsste man wissen, wie die Cookies heißen, die semmelstatz da erstellt. Ich selbst nutze es leider nicht. Hast du da ein paar Infos?

Btw, bitte kopiere den Plugincode nochmal neu. Hab da gerade gesehen, dass ein Variablenname nicht stimmte, und einen falschen Cookie-Namen erzeugt, sodass der Cookie nie gefunden wird...
__________________
FAQ // Doku // Erbreiterungen
Alphawolf ist offline   Mit Zitat antworten
Alt 18.05.2008, 13:50   #5 (permalink)
PostRank: 4
 
Benutzerbild von tokyopunk
 
Registriert seit: 08.05.2006
Beiträge: 234
Ok, aber die Frage ist doch, ob wirklich Semmelstatz das Cookie erstellt oder kreiert eher WordPress dieses selbst?
__________________
www.amypink.com
tokyopunk ist offline   Mit Zitat antworten
Alt 18.05.2008, 17:26   #6 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 2.401
Okay, versuch es mal hiermit:
PHP-Code:
<?php
/*
Plugin Name: Access Notification
Version: 0.7
Plugin URI: http://forum.wordpress-deutschland.org/plugins-und-widgets/34672-email-benachrichtigung-bei-bestimmter-ip-adresse.html
Description: Verschickt eine Email an den Blog-Admin, wenn ein Blog-Kommentator erneut den Blog aufruft.
Author: Oliver Schl&ouml;be
Author URI: http://www.schloebe.de/
*/

function os_cookie_check() {
    
$visitor_ip $_SERVER['REMOTE_ADDR'];
    
$zugriff_ort $_SERVER['REQUEST_URI'];
    
$email get_option('admin_email');
    
$betreff "Neuer Zugriff von IP " $visitor_ip " auf " wp_specialcharsget_option('blogname') );
    
$headers "From: " wp_specialcharsget_option('blogname') ) . " <$email>\n";
    
$headers .= "Content-Type: text/html\n";
    
$headers .= "Content-Transfer-Encoding: 8bit\n";
    
$mailtext "Neuer Zugriff auf " wp_specialcharsget_option('blogname') ) . " von Kommentator " $_COOKIE["comment_author_" COOKIEHASH] . " mit der IP " $visitor_ip " auf die Seite " $zugriff_ort;
    
$sanitized_blogtitle sanitize_titleget_option('blogname') );
    if( isset( 
$_COOKIE["comment_author_" COOKIEHASH] ) && $_COOKIE["comment_author_" COOKIEHASH] == 'Alphawolf' && !isset( $_COOKIE["wp_os_access_" COOKIEHASH] ) ) {
        
setcookie"wp_os_access_" COOKIEHASH$visitor_ip );
        
mail($email$betreff$mailtext$headers);
    }
}

add_action('init''os_cookie_check');
?>
Anpassen musst du in der Zeile
PHP-Code:
if( isset( $_COOKIE["comment_author_" COOKIEHASH] ) && $_COOKIE["comment_author_" COOKIEHASH] == 'Alphawolf' && !isset( $_COOKIE["wp_os_access_" COOKIEHASH] ) ) { 
nur die Abfrage
PHP-Code:
$_COOKIE["comment_author_" COOKIEHASH] == 'Alphawolf' 
Du kannst den Namen (wie bereits eingebaut) abfragen, die E-Mail und die URL (falls angegeben) des Kommentators.
Also z.B.
PHP-Code:
$_COOKIE["comment_author_url_" COOKIEHASH] == 'http://www.domain.de'
$_COOKIE["comment_author_email_" COOKIEHASH] == 'info@domain.de'
$_COOKIE["comment_author_" COOKIEHASH] == 'Alphawolf' 
Einfach mal probieren.
__________________
FAQ // Doku // Erbreiterungen
Alphawolf ist offline   Mit Zitat antworten
Alt 18.05.2008, 18:17   #7 (permalink)
PostRank: 4
 
Benutzerbild von tokyopunk
 
Registriert seit: 08.05.2006
Beiträge: 234
Also wirklich vielen Dank, dass du dir persönlich so viel Mühe gibst. Leider passiert gar nichts, also es wird leider keine Mail verschickt, obwohl ich alle möglichen Einstellungen versucht habe und sie mit meinem Testaccount auf einem anderen Browser getestet habe. Meinst man kann da noch was machen?
__________________
www.amypink.com
tokyopunk ist offline   Mit Zitat antworten
Alt 18.05.2008, 18:40   #8 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 2.401
1.) Du hast den Kommentar als nicht-registrierter User geschrieben, und nicht als eingeloggter Admin?
2.) Welche WP-Version nutzt du?
3.) Wie sieht bei dir jetzt die Abfrage aus?
4.) Enthält der Benutzername, den du (ggf) abfragst, Leerzeichen oder Sonderzeichen? Ggf. werden die Werte url-encodet im Cookie gespeichert.
__________________
FAQ // Doku // Erbreiterungen
Alphawolf ist offline   Mit Zitat antworten
Alt 19.05.2008, 10:04   #9 (permalink)
PostRank: 4
 
Benutzerbild von tokyopunk
 
Registriert seit: 08.05.2006
Beiträge: 234
Hehe ich glaube genau der erste Punkt war auch gleich das Problem

Hab die Probe aufs Exempel gemacht und es live ausprobiert. Anscheinend hat es auch funktioniert, eine eMail wurde versendet. Der Kommentator hat die Seite gestern dreimal besucht (laut Semmelstatz), aber es kam leider nur eine Mail.

Liegt es vielleicht daran, weil das Cookie nach der Sitzung nicht wieder gelöscht wird?
__________________
www.amypink.com
tokyopunk ist offline   Mit Zitat antworten
Alt 19.05.2008, 12:26   #10 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 2.401
Zitat:
Zitat von tokyopunk Beitrag anzeigen
Liegt es vielleicht daran, weil das Cookie nach der Sitzung nicht wieder gelöscht wird?
Beim Schließen des Browsers wird das Cookie gelöscht. Das macht jeder Browser mit Cookies, die kein Ablaufdatum haben. Offenbar hat dieser jemand seinen Browser zwischen den Besuchen nicht geschlossen.

Man könnte das Script so anpassen, dass der Cookie nach 30 oder 60 Minuten abläuft und gelöscht wird. Dann würdest du die Mail erneut bekommen, wenn er die Seite nach 30 oder 60 Minuten wieder betritt.
__________________
FAQ // Doku // Erbreiterungen
Alphawolf ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt