电子商务网站正受到骗子的攻击,我们看到的一种模式是,他避免创建重复帐户,通过在电子邮件中添加点来抓住他。
例如。 "my.em.ail@gmail.com", "m.ye.mail@gmail.com", "mye.ma.il@gmail.com"
我知道这只会给他或其他人制造更多的电子邮件带来不便,但这并不是不把它们都抓到的理由。
我们的欺诈预防系统寻找高速重复订单,例如:
$email = 'myemail@gmail.com';
"SELECT * FROM `orders` WHERE `date` > '".date('Y-m-d H:i:s', time() - 60*60*24)."' AND `email` = '".$email."'"
如何更新where子句以将上述示例包含在此查询中?
1条答案
按热度按时间j13ufse21#
在您给出的示例中,可以删除
.
s然后查找具有相同电子邮件的任何行(不再计算句点)。例如:
如果需要更复杂的东西,就必须创建一个函数来度量字符串的“相似性”,以便对它们进行比较。请参阅此处了解更多详细信息:如何查找相似结果并按相似性排序?