web-dev-qa-db-ja.com

Captchaを使用した単純なコンタクトフォームHTML?

ReCaptchaまたは何らかのスパム対策機能を備えた連絡先フォームの単純なHTMLを探しています。複数のチュートリアルを試しましたが、すべて複雑で、どれも動作しません。必要なのは、名前、電子メール、メッセージフィールド(およびReCaptchaと送信ボタン)だけです。簡単な連絡先フォームのHTMLがどこにあるか知っていますか?

10
5AMWE5T

Recaptchaの実装に苦労している場合は、

$a=Rand(2,9); // this will get a number between 2 and 9
$b=Rand(2,9); // this will also get a number between 2 and 9. You can change this according to your wish

$c=$a+$b;

PHPページでちょうど表示する

echo $a."+".$b."="<input type="text" name="recaptcha" />

そして、テキストボックスの値が$ cに等しいかどうかを確認します。

これは、ボットを防止するために実装できる最も単純な再キャプチャの種類です。

10
Professor

試してみてください this 小さなスクリプト:フォーラムで簡単に使用できます。

<img src="tools/showCaptcha.php" />
<input type="text" name="captcha"/>

そして、キャプチャ変数の値をセッション変数の例に格納します

if ($_POST["captcha"] == $_SESSION['captcha']) { ... } else { ... }
4
user2533777

ステップ1

  • グラフィカルフォントイメージ表現のWebキャプチャを生成するには、いくつかのコードが必要です。フォント画像を生成するには、 Gdライブラリ が必要です。

    <?php
        session_start();
        $RandomStr = md5(microtime());
        $ResultStr = substr($RandomStr,0,5);
        $NewImage =imagecreatefromjpeg("bgimage.jpg");
    
        $LineColor = imagecolorallocate($NewImage,233,239,239);
        $TextColor = imagecolorallocate($NewImage, 255, 255, 255);
        imageline($NewImage,1,1,40,40,$LineColor);
        imageline($NewImage,1,100,60,0,$LineColor);
    
        $font = imageloadfont("font.gdf");
        imagestring ($NewImage, $font, 5, 5, $ResultStr, $TextColor ); 
        $_SESSION['originalkey'] = $ResultStr;  //store the original coderesult in session variable
    
        header("Content-type: image/jpeg");
        imagejpeg($NewImage);
    ?>
    

    ステップ2

  • Captchaを呼び出すためのフォームです。

    <form action="submit.php" method="post" name="form1">
        Name:
        <input type="text" name="name" value="" /> <br />
        Email Address:
        <input type="text" name="email" value="" /> <br />     
        Message:
        <textarea name="message" cols="30" rows="6"></textarea> <br />
        <img src="php_captcha.php" />
        <input name="captcha" type="text" id="captcha" size="15" /> <br />
    
        <input type="submit" name="submit" value="Submit" />
        <input type="reset" name="reset" value="clear"/>
    </form>
    

ステップ3

  • これが、送信時刻チェックのcapcha検証を形成する最後のステップです。セッション情報を使用する。

    <?php
          $originalkey = substr($_SESSION['originalkey'],0,5);  //session of captcha
          $captcha = $_REQUEST['captchacode'];
          if($captcha!=$originalkey){
            print_error("<b> Captcha does not match, Go back and try again.</b>");
          }
    ?>
    

これがお役に立てば幸いです!

3
Jay Patel

ここにアクセスすると、問題が解決する場合があります。説明付きのシンプルなフォームです。

http://www.html-form-guide.com/contact-form/html-contact-form-captcha.html

1
Junaid