WordPress安全問題越來越不容忽視,如何知道自己的登錄信息是否已泄露,自己的博客是否被別人反復嘗試登錄?今天倡萌分享下有人嘗試登錄你WordPress站點后臺時,發送郵件通知管理員的方法。
后臺登錄成功提醒
如果有人登錄了WordPress后臺,就會發一封郵件到郵箱,提醒你有人登錄了,如果當時不是你登錄,就要引起警惕了。將以下代碼放入主題的functions.php中:
- 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中:
-
-
-
-
- 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');