我已經設置了一個相當複雜的HTML表單,它使用帶有幾個必填字段和各種規則的JQuery Validate插件。表格工作很好。它發佈到一個單獨的PHP處理器文件,該文件執行許多事情,例如發送幾封電子郵件並最終將用戶發送到PayPal。 (這是一個俱樂部會員申請。)看起來它只花了大約一週的時間來找到處理器文件並開始直接反覆運行。大約500封電子郵件&應用程序在我捕獲之前生成,並通過暫時重命名文件來停止它。當時發生的事情我不太確定究竟發生了什麼,但是在評估了大部分時間之後,我意識到它不可能是主要形式被執行的結果,而是僅僅由於直接運行處理器文件。如何保護表單處理器腳本文件?
所以......我的問題是這樣的:我怎樣才能防止這種情況發生?必須包含某種類型的編碼,以確保處理器無法運行,除非它確實來自真正的HTML表單...或者有更好的方法嗎?我關注了「網上關於表格和發佈」的所有「示例」,但我沒有看到任何與此類問題有關的東西。
你可以某種類型的驗證碼添加到形式,使其傻瓜「大多數'機器人。 http://www.google.com/recaptcha – Rottingham
就是這樣......主要的形式並未運行。我想添加一個驗證碼,直到我意識到這不是發生的事情。不知何故,機器人發現了POST PHP文件,並且正在運行* that *而沒有運行真正的表單。 – RCurtis
這個想法是,服務器端表單處理將需要一個有效的驗證碼值。如果機器人直接擊中處理器,則驗證碼值將無效,並且提交將被拒絕。這可能會有所幫助:[如何防止機器人自動填充表單](http://stackoverflow.com/questions/2387496/how-to-prevent-robots-from-automatically-filling-up-a-form) – showdev