4

html他のページ投稿方法で一部データとjavascript混合データを投稿するとマイページにアクセス禁止エラーが表示されます。

しかし、そのページを直接開くと、エラーなしで正しく表示されます。

データを投稿しているときに、これがサーバー セキュリティ関連の問題であることはわかっています。

検索すると、mod_security をオフにする の解決策が見つかりました。htaccessファイル 。

しかし、私は完全なウェブサイトではなく、このページのためだけにこれを行いたい.

私のホスティング環境は共有されていますが、. htaccessファイル。

4

2 に答える 2

5

いくつかのmod_securityと.htaccessのトリックを見てください。mod_sceurityを有効または無効にできる方法はたくさんあります。最も簡単なのは、MODSEC_ENABLE環境変数をOnまたはに設定することOffです。SetEnvIfを使用して、次のような多くのものと照合できRequest_URIます。

SetEnvIf Request_URI your_page\.php$ MODSEC_ENABLE=Off

またはページ数:

SetEnvIf Request_URI ^/directory/file.*\.php$ MODSEC_ENABLE=Off

または、 mod_rewriteを使用して、クエリ文字列との照合など、より複雑なことを行う必要がある場合は、次のようにします。

RewriteEngine On
RewriteCond %{QUERY_STRING} example_param=example_value [NC]
RewriteRule ^path/your_file\.php$ - [E=MODSEC_ENABLE:Off]
于 2012-06-25T22:37:28.067 に答える
0

OWASP コア ルール セットを有効にしていますか? Apache エラー ログをチェックして、一致するルールを確認します。他のページでも正当なユーザーの一部をブロックしていることに気付くかもしれません。ホスティング プロバイダーが使用しているルール セットと、誤検出に対して何を行っているかについて、ホスティング プロバイダーに相談してください。


当面の問題を解決するために、新しい URI を追加することで URI がブロックされるのを防ぐことがSecRuleできます (ファイルでこれを行うことができます) .htaccess

SecRule REQUEST_URI "/your/uri" "phase:1,pass"

これを POST リクエストに制限するには、次を使用できますREQUEST_LINE

SecRule REQUEST_LINE "POST /your/uri" "phase:1,pass"

現在リクエストに一致してブロックしているルールによっては、それらを に変更するphase:2か、2 つ目の同一のルールを に追加する必要がある場合がありますphase:2

于 2012-06-27T14:11:31.733 に答える