ホームページ  >  記事  >  バックエンド開発  >  PHP で IP ブラックリストとホワイトリストのフィルタリングを実装する方法

PHP で IP ブラックリストとホワイトリストのフィルタリングを実装する方法

WBOY
WBOYオリジナル
2016-07-25 09:05:291206ブラウズ
  1. function ip_test($ip,$iprule){
  2. $ipruleregexp=str_replace('.*','ph',$iprule);
  3. $ipruleregexp=preg_quote($ipruleregexp,'/'); iruleregexp=str_replace('ph','.[0-9]{1,3}',$ipruleregexp);
  4. if(preg_match('/^'.$ipruleregexp.'$/',$ip); true;
  5. else return false;
コードをコピーします
コア関数 ip_test を実装した後は、リスト内の各ルールを単純に調べて、現在接続されている IP を判断するだけです。ルールを遵守し、相応の措置を講じているかどうか。 ホワイトリスト。IP が少なくとも 1 つのルールを満たす場合に続行します。

$curr_ip=$_SERVER['REMOTE_ADDR'];
$white_list=array(...); //ホワイトリストルール
    $test_success=false;
  1. if (ip_test($curr_ip,$iprule)){
  2. $test_success=true;
  3. }
  4. }
  5. if(!$test_success) exit('IP がホワイトリストにありません');ブラックリスト。IP がすべてのルールを満たしていない場合に続行します。
  6. $curr_ip=$_SERVER['REMOTE_ADDR'];
  7. $black_list=array(...); // ブラックリスト ルール
foreach($black_list as $iprule){
if(ip_test($curr_ip , $iprule)){ exit('IP in black list'); }
}

コードをコピー
  1. この時点で、IP ブラックリストとホワイトリストのフィルタリングの単純な PHP 実装が完了すると思います。みんなの役に立ちますように。 興味があるかもしれない記事:
  2. PHP セキュリティ フィルタリング コード (高いセキュリティ係数を備えた 360 によって提供されます)
  3. PHP フィルターの投稿、機密データの取得のサンプル コード
  4. 不正な特殊な文字列をフィルタリングするためのphpメソッド
php アンチインジェクション コード (フィルター パラメーター)
SQLインジェクション脆弱性フィルタリング機能を防ぐための非常に便利なPHPコード
SQLインジェクションを防ぐためのPHPを使用した定期的なフィルタリングの例

危険なHTMLをフィルタリングするためのPHPコード
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。