Mar*_*ain 6 python regex fraud-prevention
注册新帐户时,网络应用程序通常会询问"安全问题"的答案,即狗的名字等.
我想通过我们的数据库查找用户只是捣乱键盘而不是提供合法答案的实例 - 这是滥用/欺诈帐户的高指标.
"母亲的娘家姓?" lakdsjflkaj
关于我应该如何做这个的任何建议?
注意:我不仅仅在这些'安全问题答案'上使用正则表达式
'答案'可以是:
使用一些基本的sql正则表达式从db中选择
使用python正则表达式分析必要的次数
根据需要比较/修剪/得分
这是一个技术问题,而不是哲学问题 ;-)
谢谢!
tan*_*ius 40
我不会这样做 - 在我看来这些问题削弱了安全性,所以作为一个用户我总是尝试提供另一个半密码作为答案 - 对你来说它想要捣碎.嗯,它是捣碎的,但这正是我想要做的.
顺便说一句.我不确定你可以查询答案的事实.由于他们克服了您的密码保护,因此应该像密码一样处理=存储为哈希!
编辑:
当我读到这篇文章时,我立刻想起了这个问题;-)
nik*_*nik 12
我总是发现人们把安全答案比他们使用的密码弱.
安全问题只是安全链中的另一个环节 - 链接较弱!
IMO,更好的方法是允许用户请求发送到他们注册的电子邮件ID的新密码.这有两个好处.
如果你必须有秘密问题,让他们触发重新生成(永远不会发送用户密码,重新生成临时,最好是一次性强制)密码发送到他们注册的电子邮件ID - 并且,不要显示一点都不
另一个技巧是让秘密问题ITSELF注册电子邮件ID.
如果他们说得对,您可以将重新生成的临时密码发送到该电子邮件ID.
使用正则表达式无法做到这一点.实际上,我根本无法想出一个合理的方法 - 你会在哪里划出可疑和不可挽回的界线?我曾经一次经常用一个模糊的答案回答安全问题.毕竟,我母亲的婚前姓不是最难找到的.