【问题标题】:Prohibit certain string of characters [closed]禁止某些字符串[关闭]
【发布时间】:2017-06-13 05:33:03
【问题描述】:

我的联系表单收到了大量垃圾邮件。我的联系表格有几个字段。我注意到垃圾邮件中的电子邮件地址字段始终包含强 Staceyrow,并且消息字段始终包含以下一项或多项:发薪日、贷款、贷款、贷方、贷方。位置字段始终包含单词 Darussalam。

我正在使用 php 联系表格,在后端,我可以为每个字段输入一个正则表达式。

我必须为电子邮件字段输入什么正则表达式,这样如果用户在该字段中输入任何包含“Staceyrow”(不区分大小写)的内容,表单就不会提交?

我必须为消息字段输入什么正则表达式,以便用户在该字段中输入任何包含“发薪日”或“贷款”或“贷款”或“贷方”或“贷方”的内容(不区分大小写) ,表单没有提交?

我必须为位置字段输入什么正则表达式,这样如果用户输入任何包含“Darussalam”(不区分大小写)的内容,表单就不会提交?

【问题讨论】:

标签: php regex form-submit contact-form spam-prevention


【解决方案1】:

将“Staceyrow”与/staceyrow/i匹配

将“payday”、“loan”、“loans”、“lender”或“lenders”与/(?:loans?|payday|lenders?)/i 匹配(*请注意匹配无害的消息字段值)

将“Darussalam”与/darussalam/i匹配

如果您使用这些标准拒绝提交表单和/或提供有关拒绝的具体反馈,机器人设计者将能够轻松调整其垃圾邮件值而无需提交。

也许制定某种规则,表单总是“似乎”要提交,但要么出现普遍的“出现问题”错误消息,要么根本没有错误消息,提交被转储到不活动的数据库表中,您可以在其中手动扫描它,以确保没有无辜的用户出现在您的屏幕上。

或者也许您可以允许可疑用户提交,但只需在您的数据库表中添加一个将用户标记为“可疑”的额外列。在人眼做出某种决定之前,可疑用户的权限非常有限。

如前所述,“细长”将在消息字段中引发标志,因为。出于这个原因,消息字段对于识别坏苹果来说是最不可靠的。哦,如果您打算扩展您的消息模式,出于性能原因,将最短的字符串放在较早的替代方案中,将较长的字符串放在后面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2015-01-18
    • 2017-11-08
    相关资源
    最近更新 更多