-
- function ip_test($ip,$iprule){
- $ipruleregexp=str_replace('.*','ph',$iprule);
- $ipruleregexp=preg_quote($ipruleregexp,'/'); iruleregexp=str_replace('ph','.[0-9]{1,3}',$ipruleregexp);
-
- if(preg_match('/^'.$ipruleregexp.'$/',$ip); true;
- else return false;
-
-
コードをコピーします
コア関数 ip_test を実装した後は、リスト内の各ルールを単純に調べて、現在接続されている IP を判断するだけです。ルールを遵守し、相応の措置を講じているかどうか。
ホワイトリスト。IP が少なくとも 1 つのルールを満たす場合に続行します。
$curr_ip=$_SERVER['REMOTE_ADDR']; $white_list=array(...); //ホワイトリストルール $test_success=false; - if (ip_test($curr_ip,$iprule)){
- $test_success=true;
- }
- }
- if(!$test_success) exit('IP がホワイトリストにありません');ブラックリスト。IP がすべてのルールを満たしていない場合に続行します。
-
-
-
-
- $curr_ip=$_SERVER['REMOTE_ADDR'];
- $black_list=array(...); // ブラックリスト ルール
foreach($black_list as $iprule){ if(ip_test($curr_ip , $iprule)){ exit('IP in black list'); } }
コードをコピー
- この時点で、IP ブラックリストとホワイトリストのフィルタリングの単純な PHP 実装が完了すると思います。みんなの役に立ちますように。
興味があるかもしれない記事:
-
- PHP セキュリティ フィルタリング コード (高いセキュリティ係数を備えた 360 によって提供されます)
-
- PHP フィルターの投稿、機密データの取得のサンプル コード
-
- 不正な特殊な文字列をフィルタリングするためのphpメソッド
-
php アンチインジェクション コード (フィルター パラメーター)
SQLインジェクション脆弱性フィルタリング機能を防ぐための非常に便利なPHPコード
SQLインジェクションを防ぐためのPHPを使用した定期的なフィルタリングの例
危険なHTMLをフィルタリングするためのPHPコード
|