ipがワイルドカードを含むブラックリストに登録されたipsのデータベースと一致するかどうかを知るためのスニペットを作成する方法がわかりません。 例:ワイルドカードのIPv4文字列に一致するPHPコード
$global_blacklistedips = Array ('10.10.*.*', '192.168.1.*');
function checkBlacklistedIp ($ip) {
// some kind of regular expression
// match? return true;
// else return false;
}
誰でも助けることができますか?私が理解した唯一のアプローチは、1、2、または3のワイルドカード(4つのワイルドカードはブラックリストのすべてにつながる)を切り替える非常に醜い "状態マシン"をコーディングすることですが、このようなコーディングは実際には混乱です。
このリストは誰ですか?小文字の場合: '*'を '[0-9] +'で置き換え、正規表現にマッチさせます。大きい場合:ネストされた配列のツリー(4レベルの深さ)にします。 – mvds