• 締切済み

フォーラム(F-board)などで半角英数のみの投稿を拒否したい

PHPスクリプトのF-boardを改造しているのですが、半角英数のみの投稿を拒否したい場合、どのような記述をどこにすればいいのか、わかる方いましたら教えて下さい。 CGIだとhttp://swanbay-web.hp.infoseek.co.jp/index.htmlを参考にできたのですが、PHPだとわかりません。 ヨロシクお願いします。

みんなの回答

  • sjam
  • ベストアンサー率41% (26/63)
回答No.1

$enc = 'SJIS'; $temp = mb_substr($_POST['本文'],0,29,$enc); if ($temp == mb_convert_kana($temp,'h',$enc)) { $_POST['本文'] = ''; } $_POST['本文']の先頭30字迄に全角ひらがなが無い場合、$_POST['本文']を空にする例です。 $temp = で先頭30字をとり出し、 if () で '原文' と 'かなを半角に変換した文字列' を比較しています。 $enc は $_POST['本文'] の文字エンコードを指定します。

kitakitao
質問者

お礼

sjamさんありがとうございます。 参考に頑張ってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 半角英数判定

    こんにちわ。最近PHPをやりはじめた者です。 下記のスクリプトを使用して空白判定はできたのですが、半角英数文字 を判定できなくて困っています。エラーが出てしまい、画面遷移できないのです。したいことは、半角英数文字以外がユーザーIDとパスワードに入力されたとき、「半角英数で入力してください」という判定をしたいのです。画面遷移後のスクリプトは文字制限の都合で記載できませんでした。  ユーザー名<br> <form method = "post" action = "subject02-01.php" > <input type = "text" name = "USERNAME"><br> パスワード<br> <input type = "password" name = "PASS"> <input type = "submit" name = "submit" value = "ログイン"> <?php $str = mb_convert_kana($str,"rna") if($_POST["submit"] == "ログイン") if($_POST["USERNAME"] == "root" && $_POST["PASS"] == "admin") { echo "認証に成功しました。"; } else if( $UserName == "" || $Password == "") else if(ereg("[A-Za-z0-9\-]",$str)) else { echo "認証に失敗しました。"; }

    • ベストアンサー
    • PHP
  • PHPで半角英数、全角文字の組み合わせを許可する正規表現の記述方法を教

    PHPで半角英数、全角文字の組み合わせを許可する正規表現の記述方法を教えてください。 PHPで、ウェブサービスをUTF-8で構築中です。入力項目のうち、1項目を半角英数(0-9、a-z、A-Z)と全角文字の利用を許可したいと考えています。 正規表現を使って判断しようとし、検索して調べてました。しかし、半角英数のみとか、全角文字のみで構成されている場合、という例は見つかるのですが、半角英数と全角文字の複合のみをチェックする方法がわからずにおります。 この ・半角英数、または全角文字で構成されている という条件をチェックする記述方法を教えてください。 今回除外したいのは、半角の記号(0-9、a-z、A-Z以外の半角文字)ですので、 ・半角の記号が含まれている という条件をチェックする記述方法でもかまいません。 また、正規表現でなくても実現できるのであれば、正規表現にこだわる必要もありません。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 入力フォームで入力出来る文字を半角英数に制限する

    いつもお世話になっています 問合せフォームを作成しているのですが、自分で携帯でアクセスしてみた時に、 電話番号など、数字しか入力する必要の無いフォームにフォーカスするとき、 いちいち半角英数を選び直さなければならないのが不便に感じます。 入力フォームにフォーカスすると、自動的に半角英数に入力文字が 切り替わるようなサイトに入ったことがある気がするのですが、 Perlを使ったCGIで設定することは出来るでしょうか? 携帯向けを考えているので、Javascriptでは設定出来ません。 作成している入力フォームはPerlで書かれている、KENTWEBの送信フォームCGIスクリプトです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 投稿記事にNGワードを見つけたら投稿拒否するCGI

    投稿時に入力するハンドル名、メールアドレス、URL、タイトル、投稿記事等から、NGワードを検索し、該当したら投稿を拒否する機能を持ったフリーの掲示板CGIスクリプトは無いでしょうか? NGワードを登録し、それに該当する物が記事にあったら表示しない、といった掲示板は見た事はあるのですが、それをさらに発展させたような感じですかねぇ・・・ 最近IPアドレスによる投稿拒否を行っても2,3日後にはプロキシ変えて投稿されるのを繰り返されて迷惑してます。 #ちなみに排除したいワードは「URL」でワンクリ詐欺サイトです・・・ どなたか知ってる方いらっしゃいましたらよろしくお願いいたします。 なお現在KENT WEBさんのyybbsを使用してます。 自分に改造する技術があれば・・・ 技術的にはIPアドレスで弾いてるロジックはあるので、そこにNGワード検索でONなら飛ばすみたいな感じで行けるかなぁとか思ってるんですが・・・

    • 締切済み
    • CGI
  • フォーム入力の際、電話番号等を半角英数で書いてもらう意味

    現在ホームページ作成中で、kent-webさんのWEB上からメール送信することのできるCGIのPostMail(http://www.kent-web.com/)を利用させていただいています。普段ネットショッピングで買い物をするときに、電話番号入力の際、半角英数での入力を要求されることがおおいのですが、kent-webさんのCGIで、特に設定を変更していないので、全角でも問題なく入力して送れるようですが、電話番号などを全角で入力してもらうと問題が起きる場合があるのでしょうか? よろしくお願いします。

  • Webプログラミングを勉強するにはCGI?それともPHP?

    将来をみこんで今からWebプログラミングを勉強しようかと思っています。 WebでみるようにCGIのスクリプトは大変すばらしいのですが多くのものが1~2つの動作を単体で行う物しか見たことがありません。それに変わってPHPは数が多くなるものの大規模で尚且つ機能性に優れたスクリプトを多く目にします。(Xoopsやウェブメールなど) そこで質問です。Webプログラミングを勉強するにはやはりCGIを先手にしたほうがいいのでしょうか?それともPHPにしたほうがいいのでしょうか?又、勉強するために大変参考になる本やサイトなどご存知の方がいましたらぜひ教えてください。 PS:ちなみに私はCGIやPHPに関して初心者です。設置や簡単な改造は出来ますが新規作成などは今までやったことがありません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 半角カナを拒否したつもりが漢字も拒否されてしまうんです

    お世話になります。 http://katsubemakito.net/cgiperl/cgi/check/post-10.html ↑このページを参考に、入力された文字列に半角カナが入っていた場合にエラーメッセージを表示する仕組みを既存CGI(フリーウエア)に追加しようと、 --------------------------------------------------------------- if($name eq "フリガナ"){ $xx =$value; $jd_EUC_J_k = '(\xA5[\xA1-\xF6])|(\x8E[\xA6-\xDF])'; # EUC_JP $jd_s_JIS_k = '(\x83[\x40-\x96])|([\xA6-\xDF])'; # ShiftJIS if($xx =~ /[\xA1-\xDF]/){@error[2] = "半角カナはご使用にならない下さい<BR>"; $errorh = "1"; ;} $value = $xx; } --------------------------------------------------------------- というソースを付け加えたところ、確かに半角カナは拒否してくれるようになったのですが、平仮名や漢字で入力された場合もエラーになってしまいます。 どうしてこういう現象が起こってしまうのでしょう? この半角カナ拒否はフリガナ欄だけに使う分には今のままでいいのですが、住所を入力する欄にも使おうと思っていたので、このままだと使えないなと思って困っています。 このソースを加えなければ漢字も平仮名も拒否されないので、この追加部分以外のどこかに漢字拒否や平仮名拒否のルーチンが入っているとも思えないのですが、理由や対処法に心当たりのある方はいらっしゃらないでしょうか? どうかよろしくお願い致します。

    • ベストアンサー
    • Perl
  • 掲示板の荒らし対策 (CGIスクリプト配布)

    以前からCGIスクリプトが配布されている掲示板に荒らし対策用の改造版を追加するのではなく、初めから荒らし対策用になっている掲示板のCGIスクリプトの配布はありますでしょうか? 現在、改造版を加えた掲示板を使っているのですが、少しでもほっておくと投稿拒否のログがかなり貯まってしまい、気になっています。 ※掲示板のレンタルではなく、CGIスクリプトをダウンロードして自分で設置します。

  • 掲示板でIPアドレスを取得

    類似した質問がありましたが詳しい記述方法などは回答がついていなかったので 新たに質問をさせていただきました。 掲示板をHPにつけるのですが、とてもシンプルな出来になっています。 投稿者のIPアドレスを取得できるように(掲示板に表示されなくても、datファイルに残ればよい)手を加えたいと思っています。 IPアドレスを取得でき、一行掲示板のような超シンプル、かつレンタルでないCGIを探したのですがどうしてもみつからなかったので、今使っているものを少し改造したいのです。 記述方法を教えていただけるでしょうか。 スクリプトの作成者のページは現在なくなってしまい尋ねることができません。 レイアウトを変更する程度のカスタマイズならできるのですが このようなことはやはりCGIそれぞれによって書き方も変わってくるのでしょうか…。 もし一概にこうしろとは言えないというようなら参考URLを教えて下さい。 よろしくお願い致します。

    • 締切済み
    • CGI
  • KENT WEBのTOPICS BOARDを改造したのですが・・・うまくいきません。

    みなさんこんにちは。 教えてgooではいつもお世話になっています。 最近、cgi配布サイトで有名なKENT WEBさんのページある、スキン式掲示板Topics Boardを改造して使おうと試しているのですがうまくいきません。 どのように改造しているかといいますと、このTopics Boardは、画像3枚とコメント1種類をアップできるのですがそれを画像3枚とコメント3種類に変更しようとしています。コメントを2種類増やすだけなので、元のプログラムを参考に多分こうかなという感じで進めていったのですが、新規投稿を行った後にcgi-lib.plのエラーが表示されるようになってしまいました。エラー文は Short Read: wanted 1342 got 0 と出ます。wantedの後の数字は投稿内容によって変化するようです。 また、エラーは表示されるものの、投稿処理自体はできており、特に問題は見当たりません。ただ、エラー文のみ表示されます。 ご参考までに、エラーに関係があると思われる投稿処理の部分のソースを添付いたします。 どなたかご教授お願いいたします。

    • 締切済み
    • CGI