【发布时间】:2021-12-14 03:25:41
【问题描述】:
我正在编写一个 python CLI——在某些情况下,我想测试用户是否是人。基本上为 CLI 实现验证码。
不应该依赖远程服务
有没有人有一个优雅的解决方案?
【问题讨论】:
-
不是对人类进行测试,你就不能让人类或机器自我识别吗?例如:
mycommand --human=true或mycommand --human=false? -
我认为他想测试他在另一端面对的是人类还是机器人,类似于 Captch 的工作原理......通过您的解决方案,任何机器人都可以伪装成人类。
-
如何阻止有权访问 CLI 的人复制您的 Python 脚本并编辑“验证码”并运行它?一般来说,可以访问 CLI(即 shell)以运行 Python 脚本的人也可以完全访问脚本所做的一切,因此可以编写等效的脚本。
-
是的,没什么。我知道这一点。我应该详细说明问题陈述。人们对 CLI 中的提示不敏感:他们只需按“Y”即可移动脚本。在进行潜在危险操作之前,我真的希望用户在继续之前思考一秒钟
-
让他们输入“yes”是该特定问题的通常解决方案。另一种方法是让他们(再次)输入他们想要删除或销毁的内容的名称。更一般地,让他们回答一个简单的数学问题应该可以解决问题,但不一定会被您的用户接受。
标签: python captcha command-line-interface