`
wangminshe89
  • 浏览: 667976 次
文章分类
社区版块
存档分类
最新评论

让APACHE防止多线程下载

 
阅读更多
让APACHE防止多线程下载

http://www.lelew.com/  2004-05-10 13:05:14

下面是sane@nsfocus.com写的一些关于mod_limitipconn.c的文档,可以参考一下:

[作者:sane@nsfocus.com]

mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制
,但是它是使用ExtendedStatusOn形式,工作在应用层。当同一个IP的连接到达
限制的时候,apache对get请求发送:

HTTP/1.1503ServiceTemporarilyUnavailable

从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。不过这个东东对
网管来说还是很有用的,特别是下载站的网管。简单介绍一下安装(动态模块方式
安装,假设你的apache已经装在/usr/local/apache目录下):

下载:http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz

#tarxzfmod_limitipconn-0.04.tar.gz
#cdmod_limitipconn-0.04
#viMakefile

把第一行的:

APXS=apxs

改为

APXS=/usr/local/apache/bin/apxs

然后:

#make
#makeinstall

修改apache配置文件:

#vi/usr/local/apache/conf/httpd.conf

ExtendedStatusOn###makeinstall时这句前面的#没有去掉,一定要去掉

###makeinstall已经加了下面两句,确认存在就行了
LoadModulelimitipconn_modulelibexec/mod_limitipconn.so
AddModulemod_limitipconn.c

###下面就是对web目录下的文件下载限制
<IfModulemod_limitipconn.c>
<Location/>
MaxConnPerIP3###限制web根目录同一个IP只能同时开3进程下载

#还有其它选项,如:
#NoIPLimitimage/*
#OnlyIPLimitaudio/mpegvideo
#可以设置多个Location
</Location>
</IfModule>

重启apache,用多线程的下载工具下载时,大于3个线程,其余的将得到信息:

HTTP/1.1503ServiceTemporarilyUnavailable

或者根据User_Agent判断,把已知的多线程工具都给deny掉
inhttpd.conf
.....
BrowserMatch"NetAnt"badguy
BrowserMatch"GetRight"badguy
BrowserMatch"JetCar"badguy
BrowserMatch"MassDownloader"badguy
BrowserMatch"ReGet"badguy
BrowserMatch"DLExpert"badguy
BrowserMatch"FlashGet"badguy
BrowserMatch"OfflineExplorer"badguy
BrowserMatch"Teleport"badguy
...........
<Directory/xxx/xxx/xxx>
orderdeny,allow
denyfromenv=badguy
allowfromall
</Directory>

注意httpd里面应该有mod_setenvif模块

分享到:
评论

相关推荐

    让Apache Shiro保护你的应用

    Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,提供了认证、...Shiro还支持一些辅助特性,如Web应用安全、单元测试和多线程,它们的存在强化了上面提到的四个要素

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【多线程】多线程的实现方式Thread、Runnable、Callable 72 【多线程】实现Runnable接口与继承Thread类比较 73 【多线程】线程状态转换 74 【多线程】线程的调度 75 线程优先级 75 sleep 76 wait 76 yield 77 join ...

    C语言实现的支持高并发、超高性能Web服务器源码.rar

    C语言实现的支持高并发、超高性能Web服务器源码,...是多线程select模型(玩具?) * 配置文件采用JSON标准格式,简洁易写,而且支持行注释和块注释。Apache配置格式比较复杂,Nginx配置 格式多变怪异且不支持块注释 *

    SpringBoot2.2+commons-pool2实现多Ftp连接池完整项目,开箱即用,经过长期生产使用稳定可靠

    使用JDK1.8、SpringBoot2.2.10.RELEASE、lombok1.18.8、guava23.0、hutool5.3.10、commons-pool2 2.7.0、tika1.22等实现多Ftp连接池实现,通过守护线程实现连接池内连接可用性校验,配置最大、最小连接个数防止Ftp...

    sbbox6 简易php上传直链程序

    7.[增加]可开启上传间隔时间限制,避免多线程上传造成崩溃。 8.[增加]可开启使用密码,未输入密码无法使用程序。 升级提示: 1.保留原上传文件夹。 2.调整设置与原来相同。 3.覆盖主程序文件。 作者信息: ...

    window+nginx+php环境配置 附配置搭配说明

    1,下载PHP   php下载版本比较多,其中, vc9=vs2008编译,推荐使用IIS+php搭配模式, vc6=vs6编译,推荐使用apache+php方式搭配, Thread Safe,线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就...

    java,c/c++,php,c#安全编码规范

    2.6 多线程编程 23 2.6.1 确保共享变量的可见性 23 2.6.2 确保共享变量的操作是原子的 24 2.6.3 不要调用Thread.run(),不要使用Thread.stop()以终止线程 26 2.6.4 确保执行阻塞操作的线程可以终止 26 2.6.5 ...

    操作系统(内存管理)

    如果您曾经编写过很多 C 程序,那么您可能曾多次使用过 malloc() 和 free()。不过,您可能没有用一些时间去思考它们在您的操作系统中是如何实现的。本节将向您展示 malloc 和 free 的一个最简化实现的代码,来帮助...

    新版Android开发教程.rar

    � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...

    03开源NewSql数据库TiDB-Deep Dive into TiDB

    支持多线程垃圾回收 支持 TLS 4.兼容性 支持更多 MySQL 语法 支持配置文件修改 `lower_case_table_names` 系统变量,用于支持 OGG 数据同步工具 提升对 Navicat 的兼容性 在 `Information_Schema` 中支持显示...

    asp.net知识库

    关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory...

    网络安全项目书-.doc

    2、服务器配置 (1)服务器结构图 图 1 (2)服务器配置 CPU:Intel 至强4四核八线程)*2颗 内存:16G 硬盘空间:500G SATA 操作系统:windows server 带宽:10MB 软件和语言环境:discuz Apache php mysql 3、网络安全...

    DBKING使用指南

    再比如获取数据库序列,我们采用了统一的算法,不同的数据库都使用同一个接口来获取序列,而且这个方法可以在多线程环境下使用,甚至是集群环境下都没有问题。  5、提供多种使用方式。可以单独使用,也可以结合...

    内存管理内存管理内存管理

    如果您曾经编写过很多 C 程序,那么您可能曾多次使用过 malloc() 和 free()。不过,您可能没有用一些时间去思考它们在您的操作系统中是如何实现的。本节将向您展示 malloc 和 free 的一个最简化实现的代码,来...

    超级有影响力霸气的Java面试题大全文档

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    教务系统设计数据库设计.doc

    支持多线程,充分利用CPU资源。 采用优化的SQL查询算法可以有效地提高查询速度。 既能够作为一个单独的应用程序应用在客户端/服务器网络环境中,也能够作为一 个库而嵌入到其他的软件中提供多语言支持,常见的编码...

    教务系统设计数据库设计(1).doc

    支持多线程,充分利用CPU资源。 采用优化的SQL查询算法可以有效地提高查询速度。 既能够作为一个单独的应用程序应用在客户端/服务器网络环境中,也能够作为一 个库而嵌入到其他的软件中提供多语言支持,常见的编码...

    java 面试题 总结

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    javapms门户网站源码

    Java语言之所以受人推崇,是因为它确实称得上是一种新一代编程语言,具有面向对象、可移植性好、与硬件无关、系统强健安全、提供了并发机制、性能高的众多优点,并提供了分布性、多线程、动态性的支持。 Java作为一...

Global site tag (gtag.js) - Google Analytics