2017-06-13 112 views
-1

我的聯繫表已收到大量的垃圾郵件。我的聯繫表格有幾個字段。我注意到垃圾郵件中的電子郵件地址字段始終包含強大的Staceyrow,並且郵件字段始終包含以下一項或多項:發薪日,貸款,貸款,貸方,貸方。位置字段總是包含單詞達魯薩蘭國。禁止某些字符串

我使用的是一個php聯繫表格,在後端,我可以輸入每個字段的正則表達式。

我必須爲電子郵件字段輸入什麼正則表達式,以便如果用戶在該字段中輸入任何包含「Staceyrow」(不區分大小寫)的內容,表單不會提交?

我必須爲消息字段輸入什麼樣的正則表達式,以便如果用戶輸入任何包含「發薪日」或「貸款」或「貸款」或「貸方」或「貸方」(不區分大小寫)字段,表單不提交?

我必須輸入位置字段的正則表達式,所以如果用戶輸入任何包含「Darussalam」(不區分大小寫)的表單不提交?

+1

你到目前爲止嘗試過什麼? –

+0

爲什麼不添加驗證碼? – rtfm

+0

你可能會對這個問題感興趣:[如何防止機器人自動填充表單?](https://stackoverflow.com/questions/2387496/how-to-prevent-robots-from-automatically-filling-up -表單) –

回答

2

匹配「Staceyrow」與/staceyrow/i

匹配「發薪日」,「貸款」,「貸款」,「貸款人」,或「貸款人」與/(?:loans?|payday|lenders?)/i(*只是小心匹配無辜的消息字段值)

匹配「萊達魯薩蘭國」與/darussalam/i

如果使用這些標準來拒絕表單提交和/或提供關於拒絕具體的反饋,機器人設計師將能夠輕鬆地調整自己的垃圾郵件值沒有提交。

也許會做出某種規則,其中表單總是「似乎」要提交,但是存在一個廣義的「出錯的錯誤」錯誤消息,或根本沒有錯誤消息,並且提交被轉儲到非活動的數據庫表中,在那裏你可以手動掃描,以確保沒有無辜的用戶被抓到你的屏幕上。

或者您可能允許可疑用戶提交,但只是在數據庫表中有一個額外的列,標記用戶爲「可疑」。可疑用戶可以擁有非常有限的特權,直到人類的眼睛做出某種決定。

正如前面所述,「細長」會在信息字段中產生一個標誌,因爲。出於這個原因,消息字段是識別壞蘋果最不可靠的。哦,如果你打算擴展你的消息模式,出於性能的原因,把最短的字符串放在前面的替代品和更長的字符串中。