[英]javascript code to prevent bots from submitting form
我需要一個JavaScript代碼來防止漫游器提交表單。 但是我需要javascript中的客戶端代碼,其工作方式類似於CAPTCHA,但不要調用服務器
謝謝
最簡單直接的方法是在實際單擊按鈕時即時添加或編輯表單數據:
<input type="hidden" name="SubmittedByHuman" value="NO" />
<input type="submit" value="Submit me" onclick="this.form.elements['SubmittedByHuman'] = 'YES';" />
有了這個,在服務器端檢查名為“ SubmittedByHuman”的表單元素的值-如果它將為“ NO”,則表示某些內容繞過了提交按鈕-或正如人們在注釋中正確提到的那樣,用戶確實單擊了但禁用了JavaScript。
做類似的事情
<h1>Type the result in the input box : 1+1</h1>
<input id="sum" type="text"/>
在提交之前,請檢查輸入中的值是否為2,然后提交。
為了改進這種類型的代碼,您可以在h1中隨機創建這兩個值,並將它們保存到var中,然后在提交輸入和總和是否相同之前進行檢查。
我懷疑這是否可能,因為機器人足夠復雜,可以繞過大多數東西。
請記住,該機器人不會在瀏覽器中打開網頁並按提交。 它可能會在頁面上掃描<form>
,列出所有<input>
字段,然后執行POST請求,其中包含每個<form>
的所有數據。
它不會運行任何JavaScript或按任何按鈕。 您必須在服務器端進行檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.