无法让CAPTCHA上班吗?

时间:2015-05-08 13:59:50

标签: php html forms captcha contact

我最近考虑使用CAPTCHAs,因为我有一个联系表单,我想将其添加到。

然而,每个验证码似乎都显示相同的问题,即一旦我实现了验证码,你应该在上回答CAPTCHA的textarea在textarea本身中有PHP代码

如果有人可以指导我,并将我链接到一些可行的验证码,那将非常感激!

<小时/> 以下是我到目前为止:

形式:

<div class="contactform">
        <form class="form" action="mail.php" method="POST">

            <div class="namebox">
            <p class="name">
                <label for="name">Name</label>
                <input type="text" name="name" id="name">
            </p>
            </div>

            <div class="emailbox">
            <p class="email">
                <label for="email">Email</label>
                <input type="text" name="email" id="email">
            </p>
            </div>

            <div class="titlebox">
            <p class="title">
                <label for="title">Title</label>
                <input type="text" name="title" id="title">
            </p>
            </div>
            <br>

            <div class="descriptionbox">
            <p class="description">
                <label for="description">Description</label>
                <textarea name="description"> </textarea>
            </p>
            </div>

            <br>

            <p class="submit">
                <input type="submit" value="Submit">
            </p>

        </form>
        </div>

PHP:

<?php 
$name = $_POST['name'];
$title = $_POST['title'];
$email = $_POST['email'];
$description = $_POST['description'];
$formcontent ="From: $name \n Message: $description";
$recipient = "email@email.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank you. Your message will be reviewed as soon as possible!";
?>

2 个答案:

答案 0 :(得分:1)

你知道CAPTCHA是如何工作的吗? 我会告诉你:
CAPTCHAs保护系统通过生成随机字符串,将其写入图像,然后将字符串存储在会话内或通过其他方法来工作。然后在提交表单时检查。
THIS文章是一个有价值的来源,请查看它,它将指导您创建安全的CAPTCHA。

答案 1 :(得分:1)

  

@ Fred-ii-所以我确实意识到这是一个迟到的答案,但我不会回到这里感到很难过。但是,我把它整理出来了。虽然这个特定的代码目前还没有被使用,但我联系了另一位拥有相当多PHP知识的朋友,主要是为了检查并且他说同样的事情,扩展是什么导致它。尽管为你的答案和回复干杯! :)

回答问题的评论:

我认为可能会发生的事情是,您的HTML表单不会保留.php扩展名,这就是为什么您拥有&#34; PHP代码&#34;显示在其中,而不是被解析。

  • 如果您的文件是.htm.html,请将其重命名为.php