nginx-naxsi ホワイトリスト ルールとは何ですか?
ホワイトリスト ルールの構文:
basicrule wl:id [negative] [mz:[$url:target_url]|[match_zone]|[$args_var:varname]|[$ body_vars :varname]|[$headers_var:varname]|[name]]
どのインターセプト ルールがホワイトリストに追加されるか | |
##wl:42 | ## ID 42 のインターセプト ルールをホワイトリストに追加します|
wl:42,41,43 | ID 42、41、および 43 のインターセプト ルールをホワイトリストに追加します |
wl:-42 | ID 42のインターセプト ルールを除くすべてのインターセプト ルールをホワイトリストに追加します。 |
# #mz:(マッチゾーン) |
args
foo=bar&in=#foo=bar&in= | |
headers | |
$headers_var | |
$headers_var_x | |
body | |
$body_var | |
$ body_var_x | |
url | |
url_x | |
file_ext | |
ルール #1000 を例として取り上げます。ルール #1000 は、select、update、削除、挿入 SQL キーワードのルール |
ルール説明
basicrule wl:1000 "mz:$args_var:foo"; | |
foo#1000# # という名前のすべての取得パラメータ値でインターセプト ルールを無効にします | #デモからの http://mike.hi-linux.com/?foo=select * のようなリクエストはフィルタリングされません。|
basicrule wl:1000 "mz:$url:/bar|args"; |
URL /bar パラメータを使用した get リクエスト内でパラメータを無効にしますインターセプト ルール #1000 次の同様のリクエストはフィルタリングされません: | http://mike.hi-linux.com/bar?my=select * from Demonhttp://mike. hi-linux.com/bar?from=weibo
basicrule wl:1000 "mz:args|name";
at インターセプトを無効にするすべての get リクエストのすべてのパラメータ名 (パラメータ値は含まず、名前のみ) のルール #1000 次のリクエストはフィルタリングされません: | http://mike.hi-linux 。 com/bar?from=weibo|
http://mike.hi-linux.com/bar?foo=select |
理由select これはパラメータ値であり、ホワイトリストの範囲にありません。 basicrule wl:0 "mz:$url_x:^/upload/(.*).(.*)$|url";#すべてのリクエストで ^/upload/(.*).(.*)$ の通常ルールに一致する URL のすべてのインターセプト ルールを無効にしますhttp://mike.hi-linux.com/upload と同様/select.db リクエストはフィルタリングされません (#1000 インターセプト ルールがトリガーされる可能性があります)。 |
以上がnginx-naxsi ホワイトリスト ルールとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

1. PHP開発の質問と回答コミュニティにおけるLaravel MySQL VUE/Reactの組み合わせの最初の選択は、生態系の成熟度と高開発効率のため、Laravel MySQL Vue/Reactの組み合わせの最初の選択肢です。 2。高性能では、キャッシュ(REDIS)、データベース最適化、CDN、非同期キューへの依存が必要です。 3.入力フィルタリング、CSRF保護、HTTPS、パスワード暗号化、許可制御を使用してセキュリティを行う必要があります。 4。オプションの広告、メンバーのサブスクリプション、報酬、委員会、知識の支払い、その他のモデル、コアはコミュニティトーンとユーザーのニーズに合わせることです。

nginxが「ToomyopenFiles」エラーを経験する場合、通常、システムまたはプロセスがファイル記述子の制限に達したためです。ソリューションには、次のものが含まれます。1。Linuxシステムのソフト制限とハードリミットを増やし、nginxの関連パラメーターを設定するか、/etc/security/limits.confでユーザーを実行します。 2. NginxのWorker_Connections値を調整して、予想されるトラフィックに適応し、過負荷の構成を確認します。 3.システムレベルのファイル記述子の上限を増やし、file-max、edit /etc/sysctl.confを編集し、変更を適用します。 4. open_lの使用など、ログとリソースの使用を最適化し、不要なファイルハンドルの使用量を削減します

MAC環境の構築におけるHomebrewの中心的な役割は、ソフトウェアのインストールと管理を簡素化することです。 1. Homebrewは、依存関係を自動的に処理し、複雑な編集プロセスとインストールプロセスを簡単なコマンドにカプセル化します。 2。ソフトウェアのインストールの場所と構成の標準化を確保するために、統一されたソフトウェアパッケージエコシステムを提供します。 3.サービス管理機能を統合し、BrewServicesを介してサービスを簡単に開始および停止できます。 4.便利なソフトウェアのアップグレードとメンテナンス、およびシステムのセキュリティと機能を改善します。

NginxのHTTP/2またはHTTP/3のサポートを有効にするには、前提条件を満たし、正しく構成する必要があります。 HTTP/2には、NGINX1.9.5、OpenSSL1.0.2およびHTTPS環境が必要です。 add -with-http_v2_moduleモジュール構成中に、聞くステートメントをlisten443sslhttp2に変更します。サービスに過負荷。 HTTP/3はQUICに基づいており、コンピレーション中にboringsSlまたはopensSlquicブランチを導入し、UDPリスニングポートを構成するには、nginx-Quicなどのサードパーティモジュールが必要です。展開中の一般的な問題には、ALPNが有効化されていない、証明書の互換性、ファイアウォール制限、編集エラーが含まれます。優先度を使用することをお勧めします

PHP環境と生産の間の矛盾の問題を解決するために、コアはKubernetesのコンテナ化とオーケストレーション機能を使用して環境の一貫性を実現することです。特定の手順は次のとおりです。1。すべてのPHPバージョン、拡張機能、依存関係、Webサーバー構成を含む統一されたDockerイメージを構築して、開発と生産で同じ画像が使用されるようにします。 2. KubernetesのconfigMapとSecretを使用して、非感受性および敏感な構成を管理し、ボリュームマウントまたは環境可変噴射を介したさまざまな環境構成の柔軟な切り替えを実現します。 3.統一されたKubernetes展開定義ファイル(展開やサービスなど)を介してアプリケーションの動作の一貫性を確保し、バージョンコントロールに含める。 4。

1. PHP Eコマースバックエンドの主流のフレームワークには、Laravel(高速開発、強力な生態学)、Symfony(エンタープライズレベル、安定した構造)、YII(優れたパフォーマンス、標準化されたモジュールに適しています)が含まれます。 2。テクノロジースタックには、MySQL Redisキャッシュ、RabbitMQ/Kafkaメッセージキュー、NGINX PHP-FPM、およびフロントエンド分離を装備する必要があります。 3.高並行性アーキテクチャを階層化し、モジュラー、データベースの読み取りおよび書き込み分離/分散データベース、キャッシュとCDNで加速し、タスクの非同期処理、ロードバランスとセッションの共有、徐々にマイクロサービス、および監視とアラームシステムの確立を行う必要があります。 4.複数の収益化パスには、製品価格の差額またはプラットフォームコミッション、サイト広告、SaaSサブスクリプション、カスタマイズされた開発およびプラグインマーケット、API接続が含まれます

nginx構成では、ロケーションブロック内の @シンボルを使用して、指定された場所を定義します。これらは内部で使用されているエンドポイントであり、クライアントリクエストによって直接一致することはできません。通常、ERROR_PAGE、try_files、または書き換えディレクティブを介して呼び出されます。 1。命名場所は @で始まります。たとえば、location@notfoundは直接リクエストに応答するのではなく、他の構成部品からトリガーします。 2。カスタムエラー処理、内部ルーティング、バックエンドエージェントのバッキングによく使用されます。 3.たとえば、try_filesと組み合わせて、静的ファイルが存在しない場合は@backendに転送します。 4。メモには、直接アクセスされず、紛争の命名を避け、記述名を使用します。名前付きの場所には含まれます

NGINX構成を変更した後、最初に構文をテストしてからサービスをリロードする必要があります。 1. nginx-Tを使用して、構成ファイルの構文を確認します。プロンプト「Syntaxisok」と「testissuccessful」がプロンプトされた場合、それは正しいことを意味します。エラーがある場合、特定の問題行が表示されます。 2.構成ファイルのアクセス許可が高い場合、sudonginx-tを使用して実行する必要があります。 3.テストが実際にロードされていることを確認してください。 Nginx-T-C/path/to/your/nginx.confを介してパスを指定するか、メインプロセスでPS-EF | grepnginxを介して使用される構成ファイルを表示できます。 4。テストに合格したら、sudonginx-sreloadオーバーロードサービスを実行して、新しい構成を有効にします
