運用保守の同僚からのリクエストで、php ファイルで IP フィルタリングを実行したいとのことでした。サーバーを直接設定するのは不便なので、php ファイルの先頭で IP を直接フィルタリングする必要がありました。
IP フィルタリング ルールには次の形式があります:
1. 完全な IP アドレス (例: 192.168.0.1)
2. 特定の IP セグメント (例: 192.168.0.*)。
運用と保守は、複数の IP フィルタリング ルールで構成され、配列に保存されている IP ブラック/ホワイト リストをカスタマイズできます。コードを記述することで、IP ブラック/ホワイト リスト機能が実装されます。比較的単純な要件です。
最初に関数を実装します。この関数は、IP が IP フィルタリング ルールに準拠しているかどうかを判断することです:
function ip_test($ip,$iprule){ $ipruleregexp=str_replace('.*','ph',$iprule); $ipruleregexp=preg_quote($ipruleregexp,'/'); $ipruleregexp=str_replace('ph','\.[0-9]{1,3}',$ipruleregexp); if(preg_match('/^'.$ipruleregexp.'$/',$ip)) return true; else return false; }
コア関数 ip_test を実装した後、次のプロセスは単純にリスト内の各ルールを走査するだけです。現在接続されている IP がルールに準拠しているかどうかを判断し、対応する手順を実行します。 P p リスト、IP が少なくとも 1 つのルールを満たす場合、操作の実行を続行します。
$curr_ip=$_SERVER['REMOTE_ADDR']; $white_list=array(...); //白名单规则 $test_success=false; foreach($white_list as $iprule){ if(ip_test($curr_ip,$iprule)){ $test_success=true; break; } } if(!$test_success) exit('IP not in white list');E
ブラックリスト、IP がすべてのルールを満たさない場合、操作の実行を続行します。このブログは主に技術サポートや運用保守など、開発以外を本業としている人向けのブログです。あまりにも簡単すぎたので、最初は書きたくなかったのですが、後で同僚が私の協力に感謝し、インターネットでこれを長い間探していたが、適切な解決策が見つからなかったと言いました。 . もしかしたら本当に必要な人がいるかもしれないと思いました。

PHPのISBN文字列の検証は、ISBN-10とISBN-13の2つの形式を処理できる関数を介して実装できます。 1.すべての非数字を削除します。 2。ISBN-10の場合、加重和の計算が使用され、結果を11。3で割ることができる場合は有効です。ISBN-13の場合、異なる重み付け和の計算を使用し、結果を10で割ることができる場合は有効です。

PHPでは、__ autoloadまたはspl_autoload_register関数を介してクラスを自動的にロードすることが実装されます。 1. __ autoload関数は放棄されました。2。spl_autoload_register関数はより柔軟で、複数の自動荷重機能をサポートし、名前空間とパフォーマンスの最適化を処理できます。

PHPの配列要素を変更する方法には、関数を使用した直接割り当てとバッチ変更が含まれます。 1。$ colors = ['red'、 'green'、 'blue'などのインデックス付き配列の場合、2番目の要素は$ colors [1] = 'Yellow'で変更できます。 2。$ person = ['name' => 'john'、 'age' => 30]などの連想配列の場合、年齢の価値は$ person ['age'] = 31で変更できます。 3. array_mapまたはarray_walk関数を使用して、$ numbers = array_mapなどのバッチの配列要素を変更する

PHPでフック関数の実装は、オブザーバーモードまたはイベント駆動型プログラミングを介して実装できます。特定の手順は次のとおりです。1。フックを登録およびトリガーするフックマネージャークラスを作成します。 2。レジスタホックメソッドを使用してフックを登録し、必要に応じてトリガーフックメソッドでフックをトリガーします。フック関数は、コードのスケーラビリティと柔軟性を向上させることができますが、パフォーマンスのオーバーヘッドとデバッグの複雑さに注意を払ってください。

thesecrettokeepingaphp-poweredwebsterunningsmootlyunderheavyloadinvolvesseveralkeystrategies:1)emform opcodecoduceSciptionexecutiontime、2)aatabasequerycachingwithiThing withiThistolessendavasoload、

コードをより明確かつ維持しやすくするため、依存関係が関心(DI)に注意する必要があります。 1)DIは、クラスを切り離すことにより、よりモジュール化されます。2)テストとコードの柔軟性の利便性を向上させ、3)DIコンテナを使用して複雑な依存関係を管理しますが、パフォーマンスの影響と円形の依存関係に注意してください。

はい、最適化されたAphPossibleandessention.1)CachingingusapCutoredatedAtabaseload.2)最適化、効率的なQueries、およびConnectionPooling.3)EnhcodeCodewithBultinctions、Avoididingglobalbariables、およびUsingopcodeching

keyStrategIestsoSificlyvoostphpappliceperformanceare:1)useopcodecachinglikeToreexecutiontime、2)最適化abaseの相互作用とプロペラインデックス、3)3)構成


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
