网站遭到恶意攻击,请求防刷的方法!!!急救!!!散分。 可以直接建一个数据表,来记录用户IP和访问时间及页面,要是一分钟内访问刷新超出设定次数,就DIE掉。如此以来多线程也没关系,还可以利用这个来统计在线人数,一举两得。哈哈。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还可以把name的值用一定的自定义算法进行加密,不要直接用明文,我想也可以有效防止。 建数据库的话,这样又平白增加了对数据库服务器的消耗,我不太想这样做,我想知道的是我用session的方法是否可行,不知道那些大网站或者论坛是如何解决这些问题的。希望有经验的人能给一些指点,谢谢了! keaizhong(可爱钟)(温州的PHPER)(19801010) 还可以把name的值用一定的自定义算法进行加密,不要直接用明文,我想也可以有效防止。=================================也许你理解错了,现在对方就是用无效的值传到name里面,但是我们一样会去数据库做select查询,这样无数的查询也会导致我们数据库服务器的超负荷。 如果你用Apache做服务器的话,可以试着把httpd.conf里的KeepAliveTimeout设得大一些看看 还可以用$_SERVER["HTTP_REFERER"]参数来控制,如果这个参数不是自己本站的,那就不让访问,我想这个比较简单。 “HTTP_REFERER”链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。 以上是php手册中的说明,如果用HTTP_REFERER判断的话,会不会有问题啊,屏蔽掉不该屏蔽的用户! 如果别人要刻意攻击的话,还真的不太好防。我分析一下大家看看对不对:1:把ip和访问时间放到库里面,别人可以用随机代理来攻击;2:如果可以把客户端的mac地址放到库里面,效果可能会好一些,但是你得写一个得到mac地址得控件;3:KeepAliveTimeout设置大了会导致进程增多,增加服务器压力,不过你可以寻求一个平衡点,建议不要太大,60秒以内应该比较合适吧;4:设置http_referer用处不大,别人可以在apache里面设置重定向,一样没用; 利用apache 例如屏蔽ip ,根据useragent 来判断等等 首先你们的程序就存在漏洞,对数据不验证就用数据库查询?在页面上就应该对传递过来的数据进行验证。对匿名访问者分配一个guset帐号,使用cookie或是session来记录调用这些页面的时间,在调用页面的时候判断是否大于某一时间段或者记录一段时间内的访问次数,如果很大的话就输出<script>for(a=0;a<999999;a++){alert("你也来爽一爽");}</script>或是<script>for(a=0;a<999999;a++){window.open('http://www.sina.com.cn','_blank');}</script> 多谢各位指点,zeroleonhart(莱昂哈特) :“首先你们的程序就存在漏洞,对数据不验证就用数据库查询?在页面上就应该对传递过来的数据进行验证。”请问你说的验证该如何验证呢? 如果是有限的几个值就应当写成if($a=='b'){...}else if($a=='c'){....}else{...}的形式,如果是要拿到数据库里面查询,就应该屏蔽; = 等字符 php如何打印金字塔 php从sql脚本文件中读取sql插入到数据库----求助 帮忙看一下,我想把最新发布的疑问排列在最前,这段代码如何改。 新手询问:PHP是脚本语言还是网页编程语言(像asp和jsp一样)? 在php中,知道汉字的unicode码,如何显示成汉字啊 php类的应用 帮忙修改下 出错呢??!!! PHP 5.2 +Apache2.2 配置问题 省市联动菜单问题.感觉写对了,就是执行不成功. 我的cookie程序怎么得不到结果呢? php作图问题,请帮忙 请问如何导出csv文件 关于smart模板的问题。
还可以把name的值用一定的自定义算法进行加密,不要直接用明文,我想也可以有效防止。
=================================
也许你理解错了,现在对方就是用无效的值传到name里面,但是我们一样会去数据库做select查询,这样无数的查询也会导致我们数据库服务器的超负荷。
KeepAliveTimeout设得大一些看看
链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。 以上是php手册中的说明,如果用HTTP_REFERER判断的话,会不会有问题啊,屏蔽掉不该屏蔽的用户!
1:把ip和访问时间放到库里面,别人可以用随机代理来攻击;
2:如果可以把客户端的mac地址放到库里面,效果可能会好一些,但是你得写一个得到mac地址得控件;
3:KeepAliveTimeout设置大了会导致进程增多,增加服务器压力,不过你可以寻求一个平衡点,建议不要太大,60秒以内应该比较合适吧;
4:设置http_referer用处不大,别人可以在apache里面设置重定向,一样没用;
对匿名访问者分配一个guset帐号,使用cookie或是session来记录调用这些页面的时间,在调用页面的时候判断是否大于某一时间段
或者记录一段时间内的访问次数,如果很大的话就输出
<script>
for(a=0;a<999999;a++){
alert("你也来爽一爽");
}
</script>
或是
<script>
for(a=0;a<999999;a++){
window.open('http://www.sina.com.cn','_blank');
}
</script>
if($a=='b'){
...
}
else if($a=='c'){
....
}
else{
...
}
的形式,如果是要拿到数据库里面查询,就应该屏蔽; = 等字符