0

現在、フォームのフロント エンドとバック エンドの両方にコードを少し追加することを検討していますが、その方法がわかりません。

これはフロントエンドのコードです

<li id="user"> <label for="username">Username</label> <input type="text" name="username"> </li> 

何も表示せず、スパム ボットのハニーポットとして使用します。

ただし、次に実装する必要があるコードは次のとおりです。

<?php if( !isset($_POST['name'])) { die("No Direct Access"); } // Make sure the form has actually been submitted 
$name = $_POST['name']; 
$email = $_POST['email']; 
$spam = $_POST['username']; // This is our Honeypot field if($spam) { // If the Honeypot field has been filled in die("No spamming allowed bitch!"); } 
else { // Process the form like normal } ?>

ポイントは、$name と $email がコンタクト フォーム 7 の動的フィールドであるということです。コンタクト フォーム 7 でこれらをこのスクリプトの var として利用するにはどうすればよいでしょうか?

前もって感謝します!

4

1 に答える 1

0

/contact-form-7/includes/classes.php 内にコードを追加して、必要に応じてスパムとしてマークすることができます。

関数 spam() の下の 432 行目に、次のような行が追加されます。

if (isset($_POST['username'])) {
    $spam = true;
}
于 2013-03-01T19:23:11.810 に答える