【问题标题】:Is this safe against "spam" and "automation bots"?这对“垃圾邮件”和“自动化机器人”安全吗?
【发布时间】:2011-05-04 22:29:23
【问题描述】:

我有一个分类网站,我只是问了一个问题,即每当用户发布新的分类等时我是否需要使用验证码。

我网站上的某些地方(如联系表格)确实需要某种身份验证(验证码等...)。

但我不知道发布新分类时是否需要一个,所以我求助于你们来决定。

这是今天的程序:

  • 用户点击“新分类”。
  • 用户填写包含大量输入/选择等的表单。选择是 javascript 填充顺便说一句,如果这有什么不同的话。
  • 然后用户点击“Preview Classified”按钮。

  • 接下来是“预览”页面,用户可以在其中查看他们的分类内容。

  • 在这里,来自第一页的所有表单信息都存储在 SESSION 变量中。
  • 如果用户满意,则他们必须选择密码。这是通过在底部的“预览”页面中填写另一个小表格来完成的,其中有两个输入,“密码”和“验证密码”。此密码稍后将用于删除分类、编辑等。
  • 当输入密码并使用 Javascript 验证(非空、非特殊字符等)后,用户可以按下“插入分类”按钮。

  • “预览”页面被提交到“insert_ad_into_database.php”页面。

  • 记住将所有信息设置为 SESSION 变量,这个页面使用这些变量将它们插入数据库(MySql 和 Solr 索引)。
  • 如果已插入分类,则回显“成功”文本,否则回显“错误”。

你认为我需要验证码吗,因为它实际上是需要填写的两个表格? (分类表和密码表)

谢谢

【问题讨论】:

  • 不直接相关:密码中没有特殊字符?不好听……
  • 我的意思是“非常特别”,而不是标准的特殊字符。例子是重音字母,以及引号或双引号等
  • 您还应该验证服务器上的所有输入。

标签: php javascript mysql html security


【解决方案1】:

我已经在你的另一个问题中给出了完整的答案(让“最低进入门槛”的原则指导你),但我会在这里做一个总结:

  • 不,这对于垃圾邮件机器人来说是不安全的(但它需要一个相当复杂的垃圾邮件机器人来解决这个问题 - 一个标准问题“将内容发布到表单”垃圾邮件机器人会在这里崩溃)。
  • 但是,在您发现垃圾邮件的实际问题之前,您也不应该包含验证码。

垃圾邮件机器人(尤其是复杂的机器人)比您想象的要少得多,而验证码对新用户获取的影响比您想象的要大。权衡很容易朝着没有验证码的方向发展。

【讨论】:

  • 我仍然会通过限制用户每分钟可以提交的“分类”数量来增加一点障碍。
  • @ZeissS,是的,我在另一个问题中说了更多关于速率限制请求的内容。
猜你喜欢
  • 2013-05-05
  • 2014-05-19
  • 2011-07-05
  • 2011-08-03
  • 2014-09-26
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多