Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 杂七杂八
  3. 正文

Nginx 轻松屏蔽恶意密码猜测

2014-03-19
密码猜测
密码猜测

相信很多人用wordpress都有这样的情况,如果你的密码不够强度,被人这样天天猜,迟早要被破。

当然wordpress是不会主动通知你的,我们可以在主题的Function.php文件内加入如下代码来实现这个功能(前提是你的php要配置发信模块)

当然这个功能只是起到了提示作用,最终如何限制访问来源还是需要你自己配置的。

你可以使用nginx的ua判断,或者ip判断等等信息来确认访问者身份后返回正确的信息。

/*****************************************************
函数名称: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>";
		$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');

为了最大程度的减少恶意破解,这里我用到了nginx的ua检测,如果返回正确的ua信息,那么显示我们的正确页面,如果返回的信息不对,那么只能对不起,页面不存在!

当然你也可以配置多个访问信息,例如页面包含wp-admin、phpadmin这些内容它都会检测用户登录来源,如果不对直接无信息返回,那么恶意程序的猜测就没用了。

在NGINX的配置文件的Server段内加入

#login block

# 判断访问地址
if ($request ~* "(wp-login.php|wp-admin|pma|phpmyadmin|admin|login)"){
        set $theme "o";
    }

# 判断浏览器UA是否包含我们的信息,正确就直接返回正常页面,不正确就直接显示404页面
if ($http_user_agent !~* "(jalena|loginua)"){
        set $theme "${theme}k";
    }
if ($theme = "ok") {
        return  404;
    }

这样之后我们需要重启nginx服务,然后你再试试吧!

如何获取UA:

标签: nginx wordpress
最后更新:2019-02-21

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

  • Era

    判断ua指的是?
    ua判断显示的信息是什么呢?

    2014-04-12
    回复
  • 马克互联网

    坏人无处不在,有这招就能提防下

    2014-03-29
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    【腾讯云】云服务器特惠热卖中
    标签聚合
    java Centos odoo 其他 生活 wordpress docker MySql
    分类
    • Android / 4篇
    • C# / 10篇
    • Codec / 9篇
    • Conversion / 14篇
    • Editing / 16篇
    • Java / 47篇
    • Javascript / 3篇
    • Linux / 30篇
    • Odoo / 25篇
    • Python / 6篇
    • SQL / 30篇
    • Web / 3篇
    • Windows / 4篇
    • 我的日记 / 10篇
    • 杂七杂八 / 93篇
    • 软件开发 / 72篇
    • 非线性编辑 / 1篇

    COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    蜀ICP备17025376号