你好,欢迎访问我的博客!登录
当前位置:首页 - 服务器问题 - 正文 SEO教程学习网

使用Apache打造完美限制的HTTP下载服务器

2019-02-27服务器问题seo学习网31°c
A+ A-
话说现在建站真不容易,想好好搞一个下载站,总会被人WC的采集,盗链,攻击,无人值守的垃圾站比苦心经营的站收入还要可观。所以保卫好自己的服务器是一件很重要的工作

一开始本来准备选择使用FTP作为下载服务器的,不过过了几天就发现很多都是通过盗链的方式来FTP下载。这下服务器在持续性全速提供上传,但是网站的页面浏览量却少得可怜。因为FTP天生不能放盗链的特性所以只能考虑放弃使用,最后决定用HTTP下载来替代。

   直接用HTTP服务器下载也不是很容易的事。最开始在IIS里面配置,IIS只能设定最大下载速度和最大连接数,这对于一些使用下载工具一来就开50+线程霸道下载的朋友明显是防不住的。网上搜了N久就发现一个用Delphi写的看不懂的ISAPI Filter以及别的收费软件若干。试过之后都起不了作用,也便放弃了,最后发现Apache有这些开源的功能模块,最终打造出完美限制的HTTP下载服务器。

首先说说完美限制的意思:防盗链、限制客户端下载线程数,限制下载带宽。下面一一介绍怎么在Apache里面实现这些功能。

   防盗链

   传统的防盗链都是通过Referer来判断用户来路的,不过这样的方法对于下载工具来说形同虚设,因为现在的下载工具早就能伪造Referer了。

   现在一些流行的防盗链的方式都是用在浏览页面的时候产生一个随机验证码,在用户点击连接的时候服务器会验证这个验证码是否有效从而决定是否允许下载。或者就是用某些方法把文件实际地址进行伪装。不过我觉得这些都不怎么好用,我用了一个简单有效的方式来实现防盗链。

   其实就是用Cookie,配合Apache的URL Rewrite模块很简单的就能实现防盗链下载。
   首先在浏览页面的时候,会向客户端发送一个特别的Cookie,例如“Site=3grjz.com“,盗链而来的将没有这个Cookie。

   在Apache的httpd.conf文件里面搜索:

   #LoadModule rewrite_module modules/mod_rewrite.so

  把它前面的#去掉,再找到<Directory />块,在里面加入类似如下代码:

复制代码 代码如下:
   <Directory />
  # Other configurations …
  RewriteEngine On   # 启动URL Rewrite引擎
   RewriteCond   %{HTTP_COOKIE} !^.*(?:Site=3grjz.com).*$   # 对于Cookie里面没有特殊记录的请求进行重定向

   RewriteRule ^.*$ error.html # 将非法访问重定向到错误页面
   </Directory>

  这样如果一个盗链而来的请求将会因为没有特殊Cookie而被重定向到错误页面,就算实际地址暴露也不怕。至于这个Cookie的内容是什么以及有效时间完全可以由管理员自己来设定,也就是说下载工具也没法伪造,从而防止了服务器资源被盗链的危险。

   限制客户端多线程下载操作流程

   限制多线程现在需要用到一个Apache的扩展模块mod_limitipconn,这里是作者的官方网站[url]http://dominia.org/djao/limitipconn2.html[/url],先下载适合自己版本的模块文件到Apache安装目录下的modules目录下面,然后在httpd.conf文件中搜索:

   #LoadModule status_module modules/mod_status.so

  把它前面的#去掉,再加入:

   ExtendedStatus On
  LoadModule limitipconn_module modules/mod_limitipconn.dll
 # 如果你下载的不是Win版,请把后面的文件名改为你所下载的文件名

复制代码

使用Apache打造完美限制的HTTP下载服务器

话说现在建站真不容易,想好好搞一个下载站,总会被人WC的采集,盗链,攻击,无人值守的垃圾站比苦心经营的站收入还要可观。所以保卫好自己的服务器是一件很重要的工作 一开始本来准备选择使用FTP作为下载服务器的,不过过了几天就发现很多都是通过盗链的方式相关推荐: Apache实现本地建立泛域名虚拟主机的方法Apache服务器中.htaccess的基本配置总结CentOS6.4安装Apache+MySQL+PHP图文教程Apache httpd 安装module modCentOS系统下Apache配置多域名或多端口映射的方法如何在Apache和Nginx禁止上传目录里PHP的执行权限配置fail2ban对Apache服务器进行安全防护的方法apache下.htaccess的功能及写法Apache中解决动态地址跳转死循环的方法apache后缀名支持 让apache支持apk ipk下载的方法Apache的status相关问题解决办法使用Apache ab工具对Apache服务器进行简单的压力测试如何在apache下面的二级目录部署react/vueLinux怎么使用NetworkManager随机生成你的MAC地址?Linux下切换使用两个版本JDK的方法Apache中httpd.conf配置文件,访问日志的配置和使用Apache Rewrite 配置url重定向功能如何通过Linux命令行使用和运行PHP脚本 ======================================================================================================网站被劫持检测、网站监控站群批量SEO查询六大搜索引擎 模拟蜘蛛批量替换工具 - 多行批量替换服务器专用下载工具iis日志分析工具批量PING,服务器批量添加网卡IP小工具远程同步备份工具整站下载工具批量远程桌面连接工具iis网站批量管理
  选择分享方式
未定义标签

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录