-2

近日公開のページに取り組んでいます。このページでは、フォームからメールを使用してサインアップするようユーザーに依頼します。フォームからメールが送信されます。彼らがフォームに入力しているデータが電子メールであることを確認する方法がわかりません(スパムを防ぐため)。何か助けはありますか?ありがとう。

4

7 に答える 7

3

jquery検証を使用する本当に使いやすいhttp://docs.jquery.com/Plugins/Validation

于 2012-04-28T13:23:34.660 に答える
1

クライアント側のjsだけでは不十分です。また、PHPのfilter_varで検証する必要があります。

<?php 
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
    $from=$_POST['email'];
}else{
    $error['email_to']='Email Invalid!';
}
?>
于 2012-04-28T13:29:05.937 に答える
1

スパムやその他の不要な登録を防ぐために、クライアント側の検証に依存するべきではありません。jQuery validateを使用して、訪問者にとってサイトをよりUIに適したものにすることもできますが、入力した電子メールアドレスが無効であり、そのフィールドを確認する必要があるというきちんとしたメッセージを訪問者に提供します。

しかし、スパムボットはjQueryからのその検証を気にせず、指定されたフィールドのみを投稿します。そのため、サーバー側でデータを検証する必要があります。

正規表現を使用して電子メールアドレスを検証する方法はいくつかありますが、すべてが信頼できるわけではありません。http://www.linuxjournal.com/article/9585をチェックしてください。この記事では、これについて多くのことを説明しています。

于 2012-04-28T13:42:23.697 に答える
1
user following code as primary step to validate the email input 
if(document.getElementById('Email').value=="")
        {
            document.getElementById('Email_Msg').innerHTML="Please Enter EmailId";
            document.getElementById('Email').focus()
            return false;
        }
        else
        {   
            if(document.getElementById('Email').value.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/))
            {
                document.getElementById('Email_Msg').innerHTML="";
            }
            else
            {
                document.getElementById('Email_Msg').innerHTML="Enter Valid Email-Id";  
                return false;
                document.getElementById('Email').value="";

            }
        }   
于 2012-05-03T11:28:39.910 に答える
0

メールを1行で検証するだけです。コードは以下のように書くことができます。

<?php

if(empty($_POST['email']))
{
$error[]="Enter Email ID";
}
else
{
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$error[]= "Not A Valid Email ID.";
}
}

//pass these errors to display ana error message to user.
foreach($error as $i)
{
$message = $i."<br />";
}
?>

このコードは、Webページのどこかで使用してください。

<?php
echo $message;
?>

さらに、メール機能とmysqlデータベース(または使用している場合はその他)を使用してメールを送信し、メールIDを確認します。不要なユーザーの登録を防ぐことができます。また、キャプチャを使用してデータベースへのフラッディングを防ぎます。

これは役立つと思います。疑問がある場合は、ここに返信してください。

于 2012-04-28T13:55:48.937 に答える
0

スパムを防ぎたい場合は、電子メールフィールドに電子メールフィールドが入力されていることを確認するだけでは不十分です。ReCaptchaのようなキャプチャの使用を検討してください

于 2012-04-28T13:42:26.100 に答える
0

phpgd2ライブラリを使用して独自のキャプチャを作成します。簡単で効率的です。

于 2012-04-28T14:42:58.773 に答える