【问题标题】:PHP - How can I do my own human verification?PHP - 我如何进行自己的人工验证?
【发布时间】:2011-03-10 22:27:27
【问题描述】:

我想制作自己的 php 脚本来进行人工验证。就像一系列简单的数字/字母(验证码)一样,没什么特别的。

建议?提示?需要注意什么?

【问题讨论】:

  • 为什么?您的案例有什么不同使标准解决方案不适用?
  • 重要的是要记住,自制验证码很少提供复杂解决方案的 OCR 阻力(旋转谷歌验证码)。它们仅适用于小型站点并且暂时足够,因此对于学习实现此类功能是可以接受的。
  • Smashing Magazine 最近做了一篇关于验证码的精彩文章:smashingmagazine.com/2011/03/04/…

标签: php captcha


【解决方案1】:

您可以使用验证码服务(例如 recaptcha)来检查是否有人。

或者使用图像库创建自己的图像并将答案存储在数据库中,并为图像文件的名称提供无法追溯到单词的内容,您可能需要使单词模糊,因为机器人可以使用 ocr。

我看到的另一种新颖方法是有人使用这样的 ascii 艺术验证码

http://www.network-science.de/ascii/

【讨论】:

  • Recaptcha 不仅可以工作,还可以同时帮助数字化书籍。比自己写的更有意义,更好
【解决方案2】:

简单的谷歌搜索广泛涵盖了这个问题。

您可以参考this教程示例:

【讨论】:

    【解决方案3】:

    我保留了问题列表及其相关的答案服务器端。在为带有问题的表单生成 HTML 时,我将随机选择的问题添加到表单中,并将问题的索引(来自问题列表)存储在用户会话中。然后,当发布答案时,我可以简单地使用会话中的索引检查答案。

    值得一提的是:

    • 问题应该很简单
    • 明确且只有一个
    • 可能的答案用户可以在任何情况下输入答案

    还值得一问“我们为什么要问这个?”在表单上位,因为一些用户可能对为什么会出现问题感到有些困惑。

    【讨论】:

    • 事实上,这可能是比验证码更好的解决方案:我只听说过“OCS”和那些麻烦......我认为问题列表不会被破解:)
    【解决方案4】:

    您可以使用 GD 库来完成此操作。如何在此处完成的示例:http://www.php-help.ro/php-tutorials/simple-php-gd-capcha-image/

    【讨论】:

      猜你喜欢
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 2015-08-18
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多