本文目錄1後臺登錄成功提醒2後臺登錄失敗提醒
WordPress安全問題越來越不容忽視,如何知道自己的登錄信息是否已泄露,自己的部落格是否被別人反復嘗試登錄?今天分享下有人嘗試登錄你WordPress站點後臺時,發送郵件通知管理員的方法。
後臺登錄成功提醒
如果有人登錄瞭WordPress後臺,就會發一封郵件到郵箱,提醒你有人登錄瞭,如果當時不是你登錄,就要引起警惕瞭。將以下代碼放入主題的functions.php中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/***************************************************** 函數名稱:wp_login_notify v1.0 by DH.huahua. 函數作用:有登錄wp後臺就會email通知博主 ******************************************************/ function wp_login_notify() { date_default_timezone_set('PRC'); $admin_email = get_bloginfo ('admin_email'); $to = $admin_email; $subject = '你的部落格空間登錄提醒'; $message = '<p>你好!你的部落格空間(' . get_option("blogname") . ')有登錄!</p>' . '<p>請確定是您自己的登錄,以防別人攻擊!登錄信息如下:</p>' . '<p>登錄名:' . $_POST['log'] . '<p>' . '<p>登錄密碼:' . $_POST['pwd'] . '<p>' . '<p>登錄時間:' . date("Y-m-d H:i:s") . '<p>' . '<p>登錄IP:' . $_SERVER['REMOTE_ADDR'] . '<p>'; $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers ); } add_action('wp_login', 'wp_login_notify'); |
/*****************************************************
函數名稱:wp_login_notify v1.0 by DH.huahua.
函數作用:有登錄wp後臺就會email通知博主
******************************************************/
function wp_login_notify()
{
date_default_timezone_set(‘PRC’);
$admin_email = get_bloginfo (‘admin_email’);
$to = $admin_email;
$subject = ‘你的部落格空間登錄提醒’;
$message = ‘<p>你好!你的部落格空間(‘ . get_option("blogname") . ‘)有登錄!</p>’ .
‘<p>請確定是您自己的登錄,以防別人攻擊!登錄信息如下:</p>’ .
‘<p>登錄名:’ . $_POST[‘log’] . ‘<p>’ .
‘<p>登錄密碼:’ . $_POST[‘pwd’] . ‘<p>’ .
‘<p>登錄時間:’ . date("Y-m-d H:i:s") . ‘<p>’ .
‘<p>登錄IP:’ . $_SERVER[‘REMOTE_ADDR’] . ‘<p>’;
$wp_email = ‘no-reply@’ . preg_replace(‘#^www\.#’, ”, strtolower($_SERVER[‘SERVER_NAME’]));
$from = "From: \"" . get_option(‘blogname’) . "\" <$wp_email>";
$headers = "$from\nContent-Type: text/html; charset=" . get_option(‘blog_charset’) . "\n";
wp_mail( $to, $subject, $message, $headers );
}
add_action(‘wp_login’, ‘wp_login_notify’);
後臺登錄失敗提醒
有人嘗試登陸你的系統,但是沒有成功,這種反復嘗試的動作本身就需要被記錄下來,發給博主,這樣,隻要有錯誤的登錄,就會發一封郵件到自己的郵箱,將對方嘗試的登錄名和登錄密碼發送到你郵箱。將以下代碼放入主題的functions.php中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/***************************************************** 函數名稱:wp_login_failed_notify v1.0 by DH.huahua. 函數作用:有錯誤登錄wp後臺就會email通知博主 ******************************************************/ function wp_login_failed_notify() { date_default_timezone_set('PRC'); $admin_email = get_bloginfo ('admin_email'); $to = $admin_email; $subject = '你的部落格空間登錄錯誤警告'; $message = '<p>你好!你的部落格空間(' . get_option("blogname") . ')有登錄錯誤!</p>' . '<p>請確定是您自己的登錄失誤,以防別人攻擊!登錄信息如下:</p>' . '<p>登錄名:' . $_POST['log'] . '<p>' . '<p>登錄密碼:' . $_POST['pwd'] . '<p>' . '<p>登錄時間:' . date("Y-m-d H:i:s") . '<p>' . '<p>登錄IP:' . $_SERVER['REMOTE_ADDR'] . '<p>'; $wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers ); } add_action('wp_login_failed', 'wp_login_failed_notify'); |
/*****************************************************
函數名稱:wp_login_failed_notify v1.0 by DH.huahua.
函數作用:有錯誤登錄wp後臺就會email通知博主
******************************************************/
function wp_login_failed_notify()
{
date_default_timezone_set(‘PRC’);
$admin_email = get_bloginfo (‘admin_email’);
$to = $admin_email;
$subject = ‘你的部落格空間登錄錯誤警告’;
$message = ‘<p>你好!你的部落格空間(‘ . get_option("blogname") . ‘)有登錄錯誤!</p>’ .
‘<p>請確定是您自己的登錄失誤,以防別人攻擊!登錄信息如下:</p>’ .
‘<p>登錄名:’ . $_POST[‘log’] . ‘<p>’ .
‘<p>登錄密碼:’ . $_POST[‘pwd’] . ‘<p>’ .
‘<p>登錄時間:’ . date("Y-m-d H:i:s") . ‘<p>’ .
‘<p>登錄IP:’ . $_SERVER[‘REMOTE_ADDR’] . ‘<p>’;
$wp_email = ‘no-reply@’ . preg_replace(‘#^www\.#’, ”, strtolower($_SERVER[‘SERVER_NAME’]));
$from = "From: \"" . get_option(‘blogname’) . "\" <$wp_email>";
$headers = "$from\nContent-Type: text/html; charset=" . get_option(‘blog_charset’) . "\n";
wp_mail( $to, $subject, $message, $headers );
}
add_action(‘wp_login_failed’, ‘wp_login_failed_notify’);
參考資料:http://dhblog.org/25.html