防止Spam?只需要用CSS便可

[ 2007年 星期日 1Jul 12:18 pm | 作者: iVane Hwang | 标签: ]

一直以来,Spam 被认为是所有blog和forum的公敌,很多网站为了防止Spam都加上了验证码来验证,但是这种方法我觉得很不好,自己网站防止不了的东西为什么要叫用户来承担呢?这几天在 Digg 上看到一则利用CSS来防止Spam的文章,感到蛮有趣的!而且据该作者自己说效果还是挺明显的,少了很多Spam,那接下来就来看看他的做法:

其实这种做法很简单,在最后一个加多个<input>, 将其宽度设个很小值,并且在样式中用visibility: hidden;隐藏掉就可以了!不懂?看代码~

html 代码:

  1. <div class="form-demo">
  2. <form id="form1" method="post" action="">
  3. <fieldset>
  4. <legend>Fighting Spam With CSS</legend>
  5. <p>
  6. <label for="author">昵称:</label><br />
  7. <input type="text" name="author" id="author" size="35" tabindex="1" />
  8. </p>
  9. <p>
  10. <label for="email">电子邮件:</label><br />
  11. <input type="text" name="email" id="email" size="35" tabindex="2" />
  12. </p>
  13. <p>
  14. <label for="url">个人网站:</label><br />
  15. <input type="text" name="url" id="url" size="35" tabindex="3" />
  16. </p>
  17. <p>
  18. <label for="comment">评论:</label><br />
  19. <textarea name="comment" id="comment" cols="60" rows="6" tabindex="4"></textarea>
  20. <textarea cols="1" rows="1" class="special"></textarea>
  21. </p>
  22. <p>
  23. <input name="submit" type="submit" id="submit" tabindex="5" value="提交表单" class="submit" />
  24. </p>
  25. </fieldset>
  26. </form>
  27. </div>

CSS 代码:

  1. .form-demo { margin: 20px auto 0; width: 400px;}
  2.   fieldset { color: #fff; border: 0; border: 1px #fff solid; padding: 8px;}
  3.     fieldset legend { font-size: 20px; font-weight: bold; margin-bottom: 15px; font-family: Arial; color: #fff;}
  4.     fieldset p { margin-bottom: 15px;}
  5.       fieldset p input, fieldset p textarea { border: 2px #ffa501 solid;}
  6.       fieldset p textarea { padding: 2px 4px; overflow: auto; width: 300px; height: auto; line-height: 160%; font-size: 14px;}
  7.       fieldset p input.submit { padding: 4px 4px 2px 4px;}
  8.       /* Fighting Spam With CSS Start */
  9.       .special { width: 5px; visibility: hidden;}
  10.       /* Fighting Spam With CSS End */

Demo 地址: http://blog.ikshow.cn/demo/fighting_spam_with_css/

个人感觉这种方法可能有效,但是如果Spam Bot学聪明了,这种方法也就没用了,呵呵,不过作者的这种创意想法值得赞赏~

订阅:RSS 2.0    |   引用:http://ikshow.com/archives/235/trackback   |   分类:06. 标 准 ※ 重 构

目前只有1条 评论了, 您也发表一条评论吧 XDD

  • 1楼iVane 说:

    忘了说了,懒得重新编辑,直接在这里留言说了。
    要使这个方法有效,必须用JS或者PHP判断隐藏的那个textarea,如果里面有被填入信息,那么可以直接判断为是Spam行为,可以终止表单的提交,如果改textarea没有被填入数据,那么就可以直接进行提交,嘿嘿,不错的防止Spam行为~

    [07月 1st, 2007 at 12:25 pm]  

发表评论:

« 香港回归十周年主题曲《始终有你》

自动帮您生成漂亮的 Web 2.0 图章 »