昨天真的是愉快的一天,即使是被仁翔同志刷了刷博客我也是非常开心的、因为博客没挂但访问量却更高了

使用 Htpasswd 增加安全性(也适合 Nginx)

昨天台湾仔仁翔使用各种工具对我博客的 wp-login.php 轮番撸过之后,我意识到、这文件不该让外人访问

正是因为如此,我花了点时间写了个小工具来配合这篇教程。

使用了基础认证之后可以为网站的安全再稍微提升那么点,我们也不罗嗦就开始教程吧!

一、生成 htpasswd 文件:

这个可以自己 pl 或 php 输出一个经过 crypt、MD5、SHA1 加密后的甚至是明文的都可以。

1、第一种生成方法:直接新建文件按照如下格式保存。最不安全但最通用

echo "user:pass" > /home/.htpasswd

把其中的 user 和 pass 分别改为你的账户与密码,英文哦。

2、使用我昨晚写的小工具生成 Hash 值:

curl -i https://cdn.zntec.cn/store/tools/htpasswd/index.php?user=账户\&pass=密码 | grep apr1 > /home/.htpasswd

把其中的“账户”、“密码”改为你的账户与密码,英文哦。

3、用其他在线工具,这里不举例、搜一搜你就知道~

二、为需保护的目录或文件写规则:

这里的话请按照如下步骤选择你的服务器软件安装方式,例如 Nginx 或 Apache:

1、Apache:

<Files wp-login.php>
AuthUserFile /home/.htpasswd
AuthType Basic
AuthName "restricted"
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>

此规则来自 FreeHao123,请将 wp-login.php 改为你要保护的文件或目录,/home/.htpasswd 改为刚刚生成该文件的绝对目录。修改后即时生效。

2、Nginx:

location ~/wp-login.php {
    auth_basic "账户提示,英文";
    auth_basic_user_file /home/.htpasswd;
    自定义
}

把如上代码加入你的站点配置合适的地方,就在“location ~ .*\.(php|php5)?$”这段上面即可。如上代码中的“自定义”这一行,请找一下站点配置中“location ~ .*\.(php|php5)?$”这段下面的几行、否则将无法执行 php 文件。

完成这两步操作之后重启/载一下 Nginx 即可访问咯。

三、扩展使用方法:

这里就要说一个常用的,那就是 curl,在抓取这些需要登录的页面时、加上 --user=账户:密码 即可。


小结

是时候该睡觉了,还有两个小时左右就天亮了。

使用 Htpasswd 增加安全性(也适合 Nginx)

本来想写个好看的界面然后整合在这篇文章中的,谁知道 BootStrap 真的是越来越奇葩难搞了 。

另外的就是不要死板的把 .htpasswd 放在根目录,也不要死板的真的改为这个名字,很不安全。

这小工具参照 Htaccesstools 写的,你也想写一个的话、请不要咨询我要源码,要写的和 Htaccesstools 输出格式一模一样请详细了解《Crypt》,我要好好的睡一觉了、白天车上睡、晚上地上睡 。。唉 。

目前有8条回应
Comment
Trackback
Loading ....
  • kamin 回应于2014/11/01 02:03 回复TA

    有没有相关代码可以根据错误次数自动封IP的,然后过段时间又解封。

  • So Simple 回应于2014/06/08 09:00 回复TA

    用VPS上的程序生成
    ubuntu:
    apt-get install apache2-utils -y
    htpasswd -c filename username
    cent os:
    yum install httpd-tools -y
    htpasswd -c filename username

  • Amaoy 回应于2014/05/05 11:18 回复TA

    哇,你写的我越来越看不懂了,看来,我要学习了。

    • Tomas 回应于2014/05/05 18:37 回复TA

      这样才显得我技术够屌呀 。。。

  • 烟花易冷 回应于2014/05/02 15:51 回复TA

    真不错~

  • 靠谱分享网 回应于2014/05/02 14:41 回复TA

    我网站也每天有人撸,每天网站给我发几十封邮件提示黑客尝试登陆后台,看邮件显示,那人用的密码还都是弱智密码型,哎。
    我好奇的是,我已经用了htpasswd了,我自己登陆都需要输入密码解锁页面,但是为什么黑客还能尝试呢,我密码也设置得不简单啊。
    难道是下载了我的htpasswd文件破解的?

    • Tomas 回应于2014/05/02 17:22 回复TA

      有这个可能性,但是如果是用我写的那个小工具的话生成的密钥是不可逆的。

      你那个可能只是加密了目录没有加密“所有”文件,就是知道了具体目录还可以访问的那种 。。

  • 本篇文章没有Trackback
你目前的身份是游客,请输入昵称和电邮!