登陆邮件提醒实现方法
前提是空间有邮件功能,测试有无邮件功能的方法:登录界面点击“忘记密码”,有邮件发到你邮箱就有邮件功能。
一、登录成功提醒
就像银行的登录提醒一样,如果有人登录了系统,就会发一封邮件到邮箱,提醒你有人登录了,如果当时不是你登录,就要引起警惕了。将以下代码放入主题的functions.php中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/***************************************************** 函数名称: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>登录名:' . $_POST [ 'log' ] . '</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>" ; 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>登录名:' . $_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>" ; wp_mail( $to , $subject , $message , $headers ); } add_action( 'wp_login_failed' , 'wp_login_failed_notify' ); |
效果如下图所示,后面有个登录所在地是用qqwry.dat做了个查询
爱主机评测网,最优惠主机信息推荐,便宜VPS分享,香港CN2
修改后台登录地址
插件法
不少插件可以实现这样的功能,比如Protected wp-login和Stealth Login Page,直接下载安装即可,这里不多介绍。
代码法
不想用插件的话,直接将下面的代码复制到当前主题的 functions.php 文件中:
1
2
3
4
5
|
//保护后台登录 function login_protection(){ } add_action( 'login_enqueue_scripts' , 'login_protection' ); |
这样只有打开 http://siteurl/wp-login.php?word=fuck,才会打开登录页,否则就会自动跳转到 http://blog.gimhoy.com/
但是博主这样做之后,邮箱里还是每天都收到很多登录失败的提醒邮件,于是采取了一个更加简单粗暴的方法:修改wp-login.php文件名
比如将wp-login.php修改成gimhoy-login.php,同时还要打开这个文件,将里面所有的wp-login.php替换成gimhoy-login.php。这样登录地址便成了http://siteurl/gimhoy-login.php.跟前面那个方法结合起来,就成了http://siteurl/gimhoy-login.php?word=fuck.
简单粗暴,目的达成。