プログラム初心者です
シンプルな掲示板を作ったのですが荒らし対策を付けたいと思いました
荒らし対策の作り方を教えてください
・IP規制
ipアドレスの取得はこんな感じでしょうか?
$ip = $_SERVER['REMOTE_ADDR'];
管理者側で拒否するipを複数指定しておいて、書き込みできないようにしたいです
$ip_no = array( 'ip1','ip2','ip3);
$ip_noの中に荒らしする投稿者ipがあるかどうか判定する方法はありますか?
もう一つ禁止ワードをチェックを付けたいです
・禁止ワード
$no_word = array( '禁止ワード1','禁止ワード2','禁止ワード3');
投稿者メッセ
$mes;
$mesの中に禁止ワードがあるか判定する方法はありますか?
もっといい方法があれば、お願いします
No.2ベストアンサー
- 回答日時:
strposは位置として「0」を返す可能性があるので、
strpos($mes, $word) !== false
で判定しなければなりません。マニュアルにも注意が書いてあります。
http://jp1.php.net/function.strpos
No.1
- 回答日時:
in_array
http://www.php.net/manual/ja/function.in-array.php
strpos
http://www.php.net/manual/ja/function.strpos.php
前者は普通にin_array、後者はstrpos+foreachループでどうぞ。正規表現を使ってループを排除するという手もありますが、現実的には実行速度はどちらも同じぐらいなので。
ipははじけるようになりました。ありがとうございます
禁止ワードが思ったように動いてくれませんでした。どこがいけないのでしょうか?
$mes = $_POST['mes'];
$no_word = array('禁止ワード','禁止ワード2');//禁止ワード
foreach($no_word as $word){
if (strpos($mes, $word)) {
throw new Exception('no_word');
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
Zend_Form_Element_Hash
-
multiple属性のPOSTを配列で受...
-
C言語の配列をPush(追加)する...
-
foreachのなかで次のキーを参照...
-
pg_copy_fromの使い方について...
-
配列をループでたくさん宣言し...
-
PHPとMySQLの高速化
-
PHP: 未定義エラーの回避方法を...
-
String だと「 ByRef引数の型が...
-
FortranのOPEN文
-
配列をmb_ereg_replaceで一気に...
-
arrayをどうやって表示するのか?
-
VB.NET で 二次元のハッシュは...
-
C言語 最大値と最小値を求めて...
-
共通で使う配列について
-
配列を回すとき、最後の要素だ...
-
連想配列から<th>を含むテーブ...
-
特定のリンクタグの削除
-
PHP SimpleXml unsetについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
phpとmysqlで「あいまい検索」...
-
掲示板のあらし対策
-
しりとり 無限ループ?
-
file_get_contents()にて文字化け
-
PHP5の外部コマンド実行で、バ...
-
codeigniterのページネーション...
-
サイト名を取得するPHP
-
テキストボックスの日本語をロ...
-
多次元配列等の AND 検索について
-
Zend_Form_Element_Hash
-
XML_Serializerで複数のXMLの扱い
-
「ローマ字 -> ひらがな」へPHP...
-
cakephp2.6でfindを使い合計値...
-
$a[0]='w';$a[1]='r';を1回で
-
要素(文字列)から指定値を検索
-
クラス内での二次元配列への値...
-
順位を付ける時のスコアの重複...
-
pdfファイルの複数添付 引数の型
-
Resource id #3 と表示されま...
おすすめ情報