关于wget使用的一个有趣玩法
in Note with 0 comment
关于wget使用的一个有趣玩法
in Note with 0 comment

很多人玩linux差不都会用wget来下载一些文件来配置或者安装软件,当然也有人会用它来递归下载的你的网站内容,下面介绍一下如何配置Nginx实现防止别人通过wget下载你的网站内容和如何破解因为Nginx或Apache设置禁止wget或curl。

防止Wget递归下载

假设Nginx默认配置文件所在目录:/usr/local/nginx/conf/vhost
wget的默认User Agent是GNU/Linux,wget,因此我们只需要阻止该UA的访问并返回403即可。

Nginx配置如下:

if ($http_user_agent ~* (Wget|ab) ) {
   return 403;
}
 
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
            return 403;
}

扩展:
Nginx中有一个独特的HTTP 444状态,如果配置return 444,那么对方就不会收到错误信息,看起来就像是网站服务器打开缓慢导致无法连接一样。

破解禁止wget或curl下载

某些网站设置了网站服务器或者iptables的参数禁止wget/curl的访问,让我们不能愉快地扒站了怎么办?其实大部分只是禁止了wget/curl的User Agent,我们只需要给他们设置一个正常的浏览器UA即可。

临时变更wget的UA

在wget前加上参数 -U,代表设置User Aagent

wget www.google.com -U ‘Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101

永久变更Wget的UA

添加以下代码到/etc/wgetrc

header = User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0

变更curl的UA

使用以下参数:

curl www.google.com --user-agent "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"

同时,curl也可以传递refer信息来跳过某些防盗链设置:

curl -e http://www.google.com http://www.linpx.com

这代表从Google跳转到我们的网站.

Ok,就这样···

Responses