昨天真的是愉快的一天,即使是被仁翔同志刷了刷博客我也是非常开心的、因为博客没挂但访问量却更高了
昨天台湾仔仁翔使用各种工具对我博客的 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=账户:密码 即可。
小结
是时候该睡觉了,还有两个小时左右就天亮了。
本来想写个好看的界面然后整合在这篇文章中的,谁知道 BootStrap 真的是越来越奇葩难搞了 。
另外的就是不要死板的把 .htpasswd 放在根目录,也不要死板的真的改为这个名字,很不安全。
这小工具参照 Htaccesstools 写的,你也想写一个的话、请不要咨询我要源码,要写的和 Htaccesstools 输出格式一模一样请详细了解《Crypt》,我要好好的睡一觉了、白天车上睡、晚上地上睡 。。唉 。
- 本篇文章没有Trackback
有没有相关代码可以根据错误次数自动封IP的,然后过段时间又解封。
用VPS上的程序生成
ubuntu:
apt-get install apache2-utils -y
htpasswd -c filename username
cent os:
yum install httpd-tools -y
htpasswd -c filename username
哇,你写的我越来越看不懂了,看来,我要学习了。
这样才显得我技术够屌呀 。。。
真不错~
大神求带啊
我网站也每天有人撸,每天网站给我发几十封邮件提示黑客尝试登陆后台,看邮件显示,那人用的密码还都是弱智密码型,哎。
我好奇的是,我已经用了htpasswd了,我自己登陆都需要输入密码解锁页面,但是为什么黑客还能尝试呢,我密码也设置得不简单啊。
难道是下载了我的htpasswd文件破解的?
有这个可能性,但是如果是用我写的那个小工具的话生成的密钥是不可逆的。
你那个可能只是加密了目录没有加密“所有”文件,就是知道了具体目录还可以访问的那种 。。