可以直接建一个数据表,来记录用户IP和访问时间及页面,要是一分钟内访问刷新超出设定次数,就DIE掉。如此以来多线程也没关系,还可以利用这个来统计在线人数,一举两得。哈哈。。
解决方案 »
- 循环table转换成div
- 新人提问:究竟什么是“第一段子串”(关于strspn())
- 急
- apache 启动时提示 Unable to load dynamic library 'f:\php\php_iconv.dll' -'找不到指定程序
- 开发PHP用什么编辑器最好?
- 前几天macromedia来公司要钱了,大家有没有免费的可以在win和linux下使用的网页工具介绍?
- ZEND公司市场总监YOHAI将于本月22日来上海,上海主要使用PHP的公司调查
- 已下载阿赖JS控件程序请更新程序,没下载的一定去看看!随便散100分给大家
- 能不能获得来访者的计算机名
- 关于访问网页点击顶部返回按钮问题
- 请问如何导出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{
...
}
的形式,如果是要拿到数据库里面查询,就应该屏蔽; = 等字符