Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

将灌水机哄出门外!(不用开启验证码)

[复制链接]
heyond 发表于 2007-1-30 09:22:07 | 显示全部楼层 |阅读模式
前言:
灌水机之所以这么猖狂,完全是因为程序的通用性造成的,如果每个站点的验证方式都不一样,那么它的末日也就到了。
以后,我会抽空给大家不定期发布一些方案。
众人拾柴火焰高,希望多多大家交流,将经验共享出来,我将比较好的方案粘到这里。


   第一种:javascript 更改 FORMHASH  法。

原 理:
灌水机通过匹配 <input type="hidden" name="formhash" value="12345"> 标签中的value的值,来获取formhash的值,那么我们通过js来更改其值,那么它抓到的值就是一个壳而已,灵魂已经被javascript改掉 了。
   一共两步。

第一步:

查找:templates/default/footer.htm
  1. </body></html>
复制代码


替换为:

  1. <script>
  2. for(var k in document.getElementsByName('formhash')) {
  3.     document.getElementsByName('formhash')[k].value="123";
  4. }
  5. </script>
  6. </body></html>
复制代码


第二步:

查找:include/global.func.php


  1. function formhash() {
复制代码


替换为:


  1. function formhash() {
  2.         return '123';

复制代码

    

补充说明: 
这样改造过以后,除非灌水机也跟着改变算法,去匹配<script>中的值(这种可能性非常小,因为灌水机不可能针对某个论坛去改变它的算法,除非您的论坛它特别感兴趣),那么你可以将  document.getElementsByName('formhash')[k].value="123";
改为
document.getElementsByName('formhash')[k].value="1"+"2"+""+"3"+"";
或者
document.getElementsByName('formhash')[k].value=124-1;
或者
document.getElementsByName('formhash')[k].value=120+1+1+1+1;

等等,就是你这边随便一动,它就得累死。

除非。。。。。它将javascript分析引擎加上。。。
等它加上以后,我们还有会新的办法,等有朋友碰到了再说。
   
   
   
   第二种:javascript 更改 FORMHASH  法加强版(针对带简单js引擎的灌水机)。   
   
原 理:
如果灌水机带有简单的js引擎(比如将IE作为控件使用时),分析页面代码,并且执行其中的代码,那么,一般情况下,为了加快发帖效率,他会立即提交表单,在这里我们加一个setTimeout()延时,使它立即的提交表单的formhash为无效值。
 
第一步:

查找:templates/default/footer.htm
  1. </body></html>
复制代码


替换为:

  1. <script>


  2. function updatehash() {
  3.     for(var k in document.getElementsByName('formhash')) {
  4.         document.getElementsByName('formhash')[k].value="123";
  5.     }


  6. }


  7. setTimeout("updatehash()", 3000);
  8. </script>
  9. </body></html>
复制代码

   第二步同第一步:
查找:include/global.func.php


  1. function formhash() {
复制代码


替换为:


  1. function formhash() {
  2.         return '123';

复制代码

    
                     ============== 未完待续  ==============  
 
 
  
 
   

[ 本帖最后由 heyond 于 2007-2-1 14:58 编辑 ]

评分

6

查看全部评分

kyoichi886 发表于 2007-1-30 09:25:52 | 显示全部楼层
支持這樣的改進和革新。
魔男那個音頻處理方案的確劃時代,
但是稍微有些局限性(比如注册時音箱的有無以及外國會員的注册)。
還是希望官方能够推齣個具有普遍性的方案。
回复

使用道具 举报

yl315 发表于 2007-1-30 09:47:21 | 显示全部楼层
很不错啊!这下可就放心了!
回复

使用道具 举报

不太行 发表于 2007-1-30 10:08:18 | 显示全部楼层
牛,收藏!
回复

使用道具 举报

全球通 发表于 2007-1-30 10:23:39 | 显示全部楼层
希望如此...........
回复

使用道具 举报

mnvb 发表于 2007-1-30 10:38:41 | 显示全部楼层
支持 支持 强烈支持
回复

使用道具 举报

snowfly 发表于 2007-1-30 10:41:19 | 显示全部楼层
如果真把这个问题解决了
我请你吃饭
回复

使用道具 举报

Old吴 发表于 2007-1-30 10:48:08 | 显示全部楼层
Discuz! Team

怀念家驹
回复

使用道具 举报

大徐 发表于 2007-1-30 11:18:15 | 显示全部楼层
可能还有问题!当作了上面的修改后,一点退出就会出去"未定义操作",导致退出失败,要再点一次才可以正常退出!
回复

使用道具 举报

紫云杉 发表于 2007-1-30 11:20:24 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-22 06:35 , Processed in 0.074917 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表