2011-02-25 42 views
0

所以我有一個可以創建一個帳戶,而現在的過程中創建帳戶是通過調用一個javascript REST API的形式。我在想,以編程方式破解它可能非常簡單,因爲所有他們需要做的事情都是通過javascript來查找垃圾網址,並且在PHP腳本中進行處理可能會更安全。然後我很好,他們可以看看錶單,如果我不通過JavaScript來找到URL就像容易。表單將只處理POST數據,但不知道這是否足夠,如果我通過JavaScript或PHP處理它,這一點很重要。保護櫨從編寫腳本的垃圾郵件

什麼,以防止有人從編程垃圾郵件形式的最佳方式(即防止他們編寫服務器,如PHP,或客戶端,比如JavaScript,代碼修建垃圾的處理腳本)。

+0

爲了讓您的表單在首位工作,客戶需要提供提交表單所需的所有信息。因此,您無法阻止某人獲取此信息並在腳本中使用它。你可以做的最好的是某種人類識別策略,如kjy112建議的Captcha。 – Misko 2011-02-25 13:46:39

+0

這是假設您已經爲所需的字段準備好了所有的客戶端和服務器端驗證。還有其他新的'驗證碼'出現,需要用戶觀看視頻,但我認爲這對你正在做的事情有點太過分了。 – kjy112 2011-02-25 13:50:08

回答

1

的一種方法是使用驗證碼來過濾機器人出reCaptcha但它不是100%的保護

1

使用驗證碼可能是第一種方法: Google's Version

其次我會做在服務器端數據檢查並可能電子郵件驗證,如果電子郵件未驗證我會有一個cron清除表中沒有電子郵件驗證的行。

這兩種方法,你應該避免的好廣大它。

1

轉到爲reCAPTCHA。這很容易。

您可以通過註冊自己的網站網址獲得密鑰對存在。使用該鍵在表單中生成reCAPTCHA圖像/文本框。只有當條目與圖片中顯示的文字相匹配時,您的表格數據纔會發佈並添加到數據庫中,否則不會發送(這是檢查您必須保留的條件)。你會得到很多的相關的代碼在谷歌:)

另一種技術,因爲大部分網站現在是一個天遵循的,是通過電子郵件發送的賬戶激活鏈接給用戶。只有當點擊激活鏈接時纔會創建一個帳戶。您也可以爲此設置到期時間(比如24小時)。

希望這會有所幫助。