簡體   English   中英

將驗證碼驗證添加到我的自定義表單中以進行前端發布

[英]Add captcha validation to my custom form for Frontend posting

我已經實施了前端表單,該表單可以使未注冊用戶在我的網站上發布。

一切工作正常,我唯一的問題是驗證碼的實現。

我發現的所有驗證碼解決方案都需要在form操作中放入一些外部文件。 但是我的表單具有以下語法:

<form action="">

我不知道該怎么辦? 如果我將文件放在“操作”字段中,則無法再添加帖子。 我如何將驗證碼的驗證碼與表單放在同一文件中? 還是更好的解決方案?

非常感謝你!

如果您知道php,請使用Zend Framework。 我將其用於所有的驗證碼。 請訪問http://framework.zend.com/manual/2.0/en/modules/zend.captcha.operation.html了解更多信息。 它通常與http://framework.zend.com/manual/2.0/en/modules/zend.form.quick-start.html#zend-form-quick-start結合使用,因此您可能想熟悉一下這兩篇文章。

另外,我不知道您獲得了多少訪問量,但是如果您的網站訪問量很少,則可以使用其他驗證碼替代方法,它們效果很好,並且不會因為翻譯文本的困難而嚇到用戶。 例如,用戶可以解決一個數學問題,例如2加2。 並且該機器人將無法解決該問題,或者您可以使用一個空白的隱藏字段,如果該機器人將其填充,則用戶將無法注冊。

編輯:那么,最好的選擇就是使用這些替代方法。 它們為99.9%的機器人工作,當我使用它們時,我從來沒有遇到任何問題,尤其是結合使用時。 添加類似

<input type="hidden" value="" name="blah" /> 

然后在php中測試表單

if (strlen($_POST["blah"]) > 0)
{
     die();
}

那應該可以防止大多數機器人。 如果您需要更高的安全性,請添加類似內容。

<p>Add two plus two</p>
<input type="text" name="check" />

和PHP

if ($_POST["check"] != 4)
{
    die();
}

那應該為您工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM