• ベストアンサー

PHPメールフォーム URLと半角英字のみの書き込み禁止

yyr446の回答

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

SPAM判定基準の仕様があいまいなような、一方厳しすぎるような なので漠然としていますが。 (1)URLの判定は、単に"http:"又は"HTTP:"の文字列があるかないか調べるだけでよいのですか? (2)数字や記号も2バイト文字でなければ×にするのですか? いずれにせよ正規表現で入力された内容をマッチさせて、マッチしたら エラーメッセージを返すという事ですね

ku1395
質問者

補足

>>(1)URLの判定は、単に"http:"又は"HTTP:"の文字列があるかないか調べるだけでよいのですか? はい、そうです。あれば送信されずエラーメッセージを出したいです。 >>(2)数字や記号も2バイト文字でなければ×にするのですか? こちらは、書き込みにひらがなが含まれてないと送信出来ないものにしたいです。 >>いずれにせよ正規表現で入力された内容をマッチさせて、マッチしたらエラーメッセージを返すという事ですね そうですね、(1)(2)に添わなければエラーメッセージを出し送信されない形が理想です。 エラーメッセージ部分は自分の作ったHTMLを表示出来れば尚良いですが、これについては出来る出来ないが分からないので、出来ればと言うところです。 ちなみに私のPHP理解度的には拾った物を組み合わせてる程度の初心者です。 ご回答よろしくお願いします。

関連するQ&A

  • PHP フォームについて

    PHP初心者です。HTMLとPHPを使って、アンケートフォームを作っています。 ネットで色々と調べていたのですが、基本の構成がわからないので教えてください。 HTMLとPHPの別々のファイルで構成されているフォームと、HTMLにPHPを書き込みをしてHTMLの1つのファイルで構成しているものなどがありました。どの方法でやるとよいのでしょうか? また、同じ内容でもPHPの書き方が違うような感じがするのですが、PHPには同じ動作でも沢山の書き方があるのでしょうか?ウェブサイトによって書き方が違うので少し混乱しています。 [アンケートフォーム内容] テキスト・複数行のテキスト・メール・ラジオボックス・チェックボックス・添付ファイル(添付ファイルは難しいのであれば、無しにします)のフォームの部品をいれたいです。 [動作] 1、顧客がアンケートフォームの入力 2、入力内容を私のメールに転送する のシンプルな動作です。 また、ラジオボタンやチェックボックスをつけると、PHPの構文が難しくなるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHP5でメール送信フォームのURLを分らなくする

    PHP5でメール送信フォームのURLを分らなくする PHP5でメール送信フォームを作っています。 開発環境:Win7,Achache2 このファイルをファイル名、URLが分らなくする方法がわかりません。 例: http://kohhi.com/search?q=PHP%E3%80%8AB&src=IE-SearchBox&FORM=IE8SRC どのような仕組みで上記のような事ができるのでしょうか。 PHP、セキュアファイルで検索してもうまく検索できません。 サンプルプログラムなど、サイトを教えてくれるだけでも幸いです。

    • ベストアンサー
    • PHP
  • PHP版フォームメール

    メール送信フォームを管理画面で項目等を指定すれば自動で生成(HTMLを)できいくつでも簡単にフォームメールを作成できるPHP限定で探してます。 自動生成ということでフリーソフトでは流石になさそうですが最低限以下の3つを満たすシンプルなものでも構いません。どこかにありますでしょうか? ◆必須の機能 ・入力フォーム→確認画面→送信完了  の流れのフォームメール ・必須項目を設定できる ・フォーム送信後、ユーザと管理者へメールできる ・必須項目が未入力時のみ次画面でエラー画面を表示 ◆できれば欲しい機能 テキスト入力以外に、ラジオやチェックボックスやテキストエリアなども生成できる よろしくお願いします。

    • 締切済み
    • PHP
  • Access フォームのテキストボックスに半角英字のみで入力する設定は

    IME入力モードをテーブル・フォームともオフにしたのですがひらがな入力モードになってしまいます。 フォームのテキストボックスに半角英字のみで入力する設定としてプロパティのIME入力モードをオフにするやり方自体が間違っているのでしょうか。 それともATOKを使っているなど利用するパソコン側の問題でしょうか

  • PHPメールフォームの英語スパム対策 書き方

    サイトにPHPのメールフォームを設置しているのですが、半角英語文字の羅列と複数URLによるスパム書き込みに悩んでおります。 キャプチャ認証を使いたくなかった為、 http://note.phyllo.net/?eid=634535 上記の方が書いている2バイト文字チェックでスパム対策出来ないかと思ったのですが、そのまま記入しても動きません。 導入したいと思っていますのは、ewebサイトさんの下記のPHPメールフォームです。 http://php.eweb-design.com/1301_mail.html 何分知識不足の素人でして、具体的にどこの部分にどういう形で記入と指定して頂けると分かると思います。 丸2日対策自体を探しまわり答えが出ず疲弊しています。 お手数ですがご回答お願いします。

    • 締切済み
    • PHP
  • Javascriptで、フォームボタン押下(submit)せず、リンクURLを書き換える

     javascriptで、  1.フォームのテキストボックスに入れられた値を取得し、   例)テキストボックス入力 ; test  2.元々記述されているリンクURLをユーザがクリックした時、   例)元々のリンクURL ; <a href="www.google.co.jo?q= ~...  3."1"のテキストボックス内に記述された値を取得して、"2"のURLを書き換え、   例)テキストボックス内の文字をURLの一部に追記する ; <a href="www.google.co.jo?q=test  ~...  4.書き換えられた後のURLにユーザを飛ばす、  ・・・という事って出来るんでしょうか。  上記動作内でユーザの動作は、   テキストボックスに文字を入れる、という動作と、   リンクをクリックする、という動作のみです。  フォームのボタン押下後、というのであれば出来たんですが、上記の様な動作のコードが思い浮かびません・・・。PHPとかCGIではなく、Javascriptで何とか出来ないでしょうか。  お知恵拝借、よろしくお願いします。

  • PHPのメールフォーム

    無料版や有料版を貸し出しているサイトのメールフォームではなく、PHPを使用し自分でメールフォームを作成したいです。というのは、無料だと貸し出しているサイトのURLを載せなければいけないし、有料だとお金がかかるのが嫌・・・ということで自分で作成しようと思ったのですが知識がなく作成方法が分かりません・・・しかし、現在HPが数多くある中メールフォームのテンプレートぐらいあるんじゃないか?と期待しているのですが甘いでしょうか?(ー。ー;) もしよろしければ、そのような本やサイトがあれば紹介させてもらえませんか? ちなみに、 「記入画面」 ・名前 ・メールアドレス ・メールアドレス確認 ・サイトURL ・件名 ・本文 ↓ 「確認画面」 「エラー画面」 ↓ 「送信完了画面」 というふうにしたいです。

  • Webフォームのテキストボックスで半角指定は可能か

    Webフォームに、テキストボックスってあるじゃん。 ここで、テキストボックスをクリックしてアクティブにするだけで、半角にしたいです。 出来ますか?そんなの無理ですかね?JavaScriptとか埋め込んでも良いのですが。 全角文字を入力していたらエラーを返すことならば可能で、それはよく見るけど、それじゃ弱い。それよりは、強制的に半角に切り替えたいです。 あるいは、数字指定を徹底して、Alphabetの入力を受け付けないようにしたいです。ゼロとオー、イチとエルは形が似ていて見た目に分からないじゃん。 よくあるじゃん。入力が漢字ひらがなになっていると、自分でCapsキーとか半角/全角キーを押して、切り替えるんですよ。面倒だし、忘れちゃうし、気付かず全角で打ってたら消して書き直しじゃん。んで、半角数字をフォームで指定していてそれ以外は認めないのならば、自動で切り替えてあげれば良いのかと。 Webフォームの他に、エクセルでも良いです。ご存知でしたら、方法を教えて下さい。 1年くらい前に、ニュースになってましたよね。特別定額給付10万円のWeb申請で、役所は半角を指定しているのに、国民は全額で入力しちゃうんですよね。だから、本人照合の処理が進まなくなっちゃって給付が遅れ、ニュースになってましたよね。これをやっていれば、結構はスムーズになり、手間やスピードが変わるのかと。 <!DOCTYPE html> <html lang="ja"> <head><meta charset="utf-8"> <title>テキストボックス</title></head> <body> <form action="#" method="post"> <p>ABCコード(半角数字7桁)<br> <input type="text" name="address" size="7"></p> <p><input type="button" value="確認" id="button2"></p> </form> </body></html>

    • ベストアンサー
    • HTML
  • phpメールフォームが転送されません

    phpのメールフォームからのメールを受け取れない。OSはXP。ザンプ使用。送信しました画面は正常に動作しますが、受信ボックスに転送されません。php.iniは書き替えましたが、C;¥~xampp~sendmailの書き替えが済んでいません。よければ書き替え方をご教授下さい。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpのシンプルなメールフォーム

    あるサイトにて、単一phpのメールフォームのソースをコピーし、使用としましたが、 設定したメールアドレスに、送信ボタンを押しましたが、 受信されません。  ・送信後、「メールを送信しました」と表示されます。  ・送信のあて先は、何も反応なし。  ・ソースの「●●@●●」はダミーです。 以下ソースです。原因がわかりますでしょうか。ご教授のほどよろしくお願いします。 ―――――――――――――――――――――――――――――――――――― <?php // 送信フラグ $send_flg = false; // エラーメッセージ $err_msg = array(); // 送信ボタンを押した後の処理 if ($_POST["post_flg"]) { // エラー if ($_POST["name"] == "") { $err_msg[] = "「お名前」は必須です"; } if ($_POST["email"] == "") { $err_msg[] = "「メールアドレス」は必須です"; } // エラーが無ければ送信 if (count($err_msg) == 0) { // 宛先 $mail_to = "●●@●●"; // 送信元アドレス $mail_from = "form@example.com"; // 件名 $mail_subject = "メールフォームから送信がありました"; // 本文 $mail_body = ""; $mail_body.= "■お名前\n".$_POST["name"]."\n\n"; $mail_body.= "■メールアドレス\n".$_POST["email"]."\n\n"; $mail_body.= "■コメント\n".$_POST["comment"]; // 送信処理 mb_language("Japanese"); mb_internal_encoding("UTF-8"); mb_send_mail($mail_to, $mail_subject, $mail_body, "From: <".$mail_from.">"); $send_flg = true; $_POST = array(); } } ?> <!DOCTYPE HTML> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>メールフォーム</title> </head> <body> <?php // 初期フォーム表示 if (!$send_flg) { ?> <h1>メールフォーム</h1> <?php // エラーメッセージがある場合 if (count($err_msg) > 0) { ?> <p style="color:red;"> <?php foreach ($err_msg as $val) { ?> ※<?php echo $val ?><br> <?php } ?> </p> <?php } ?> <form action="mail.php" method="post"> <p> お名前<br> <input type="text" cols="30" name="name" value="<?php echo $_POST["name"] ?>"><br> </p> <p> メールアドレス<br> <input type="text" cols="30" name="email" value="<?php echo $_POST["email"] ?>"><br> </p> <p> コメント<br> <textarea name="comment" cols="50" rows="10"><?php echo $_POST["comment"] ?></textarea><br> </p> <input type="submit" name="post_flg" value="送信する"><br> </form> <?php // メール送信後の表示 } else { ?> <br><br><br><br>メールを送信しました。<br> <?php } ?> </body> </html> ――――――――――――――――――――――――――――――――――――

    • ベストアンサー
    • PHP