こんにちは。現在、掲示板などに使うアクセス制限ライブラリを作っています。
やりたいことは、制限したいIPアドレスのリストを作り、そのリストの中に接続元のIPが含まれているかどうかを調べたいのです。
制限したいIPアドレスのリストには、IPアドレスの範囲表現(?)を使うことができるようにしたいと考えています。
例:
$deny[0] = 'xxx.11.11.11';
$deny[1] = 'xxx.11.22.33';
$deny[2] = 'xxx.11.33.*';
上記の「*」のようにです。
ここで、
$ip = 'xxx.11.33.12';
が、$denyに含まれているかどうかを調べたいのです。
正規表現を使うのかとも考えましたが、なかなか理解できません。
もし、お分かりになりましたら回答よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
多分こんな感じではないかと。
。。if(preg_match ("/xxx\.11\.33\.\d*/i", $ip)) {
#ふくまれてる
} else {
#ふくまれてない
}
参考URL:http://www2.famille.ne.jp/~akio1998/l_grep.html
ありがとうございます。参考になりました。
=============================================
$deny[0] = '11.11.11.11';
$deny[1] = '11.11.22.33';
$deny[2] = '11.11.33.*';
$ip = '11.11.33.4';
foreach ($deny as $value)
{
$str = str_replace('*', '\d*', $value);
if(preg_match ('/'.$str.'/i', $ip))
{
#ふくまれている
}
else
{
#ふくまれてない
}
}
=============================================
としたところ、「11.11.33.*」のみがマッチすることを確認しました。自分は正規表現の基礎から勉強する必要がありますね^_^;
URLも参考になります。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ネットワーク コマンドプロンプトで、コマンドの飛ばし方を教えてください。 ネットワークにデータを飛ばす(copy) 4 2022/10/19 11:21
- Firefox(ファイヤーフォックス) Firefoxのグーグル検索で表示される現在地を修正したい!!! 1 2022/05/17 10:42
- 固定IP Firefoxので表示される現在地を修正するには? 2 2022/05/17 21:16
- Oracle ビットで表せる数値について 3 2022/09/12 16:37
- その他(プログラミング・Web制作) このプログラミング誰か教えてくれませんか 4 2022/04/29 15:56
- 固定IP パソコン(無線ルーター)のIPアドレスは、iPhoneのIPアドレスのように簡単に変更可能? 4 2022/04/02 13:00
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- ネットワーク 外部からローカルIPアドレスはわかる? 3 2022/07/05 00:53
- UNIX・Linux raspberry piを使ったWebサーバー制作をしています、接続するネットワークを変更したときに 1 2023/01/09 15:57
- ネットワーク 自作のサーバーPCが自宅内のネットワークに接続できない 3 2023/01/24 16:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで<a>タグ内からURLと文字を...
-
Excelで数字のみを2倍3倍にする...
-
正規表現で「0」のみ抽出
-
正規表現で、半角大文字と半角...
-
PHPで変数から1行目だけを取得...
-
VBAを使ってHTMLソースから特定...
-
電話番号のチェック ハイフン...
-
正規表現 先頭一桁をマッチさせ...
-
preg_matchの正規表現で
-
PHP preg_matchでUnknown modif...
-
preg_matchでエラーが出ます。
-
VBAのコマンドボタンの文字列の...
-
エスケープ文字の復帰(¥r)と...
-
文字の入力で横バー上段、中断...
-
COBOLの改行
-
改行コード(CR/LF)の設...
-
ソースコードの1行が長いとき...
-
メッセージボックスで1025文字...
-
全角括弧と全角読点の間隔を狭...
-
Excel関数「COUNTIF」で”文字”...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
PHPで変数から1行目だけを取得...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現でシングルクォーテー...
-
URLを抽出する正規表現
-
正規表現パターンの記入方法に...
-
PHPで<a>タグ内からURLと文字を...
-
PHP 複数行の正規表現
-
PHPの正規表現で住所を分けるに...
-
電話番号のチェック ハイフン...
-
ereg_match関数について
-
正規表現で「0」のみ抽出
-
preg_matchで Warning: Undefin...
-
PHPメールフォーム URLと半角...
-
phpでメールアドレス入力の入力...
-
変数に指定文字列が含まれると...
-
正規表現で特定のHTMLタグのク...
-
preg_matchで指定ファイルのタ...
おすすめ情報