1

PHP と mysql を使用して、ある種の CMS アプリケーションを作成しました。すべてが localhost で完全に機能したので、Web に移動しました。誰かが新しい記事を追加しているときに、奇妙な問題が発生しています。通常どおり追加される場合もあれば、ユーザーが次のエラーを受け取る場合もあります。

受け入れられません 要求されたリソース /path_to/file.php の適切な表現がこのサーバーで見つかりませんでした。

Google でしばらくしてから、mod_security がスクリプト (またはそのようなもの) をブロックしていることに気付きました。スクリプトがブロックされている理由を確認する方法はありますか?

私は mod_security についてあまり詳しくありませんが、いくつかのルールを適用することで、Web アプリケーションに別のレベルのセキュリティを提供するためにあることは理解しています。アプリをブロックしているルールを確認して修正できますか?

いくつかの追加情報:

/path_to/file.php (この Not Acceptable エラーが発生しているファイル) は、AJAX でのみ使用される .php ファイルです。POST でデータを送信していますが、ファイル (画像、テキスト ドキュメントなど) も送信しています。サーバーでのファイルのアップロード制限は 20MB です。現在、17 枚の写真 (約 10MB) を送信していますが、まだ失敗しています (Not Acceptable エラーが発生します)。しかし、写真とドキュメントを 1 つだけ送信しようとしましたが、問題なく動作しました。

編集:共有ホストを使用しています(CPanelを使用)。

4

2 に答える 2

1

ほとんどの場合、Emilが指摘したログファイルを使用します。

mod_Securityは2つの別々のログファイルを作成し、Apacheは独自のログでエラーを報告します。どちらも便利です。実際、Apacheでエラーを見つけた場合は、POSTが機能しなかったルールのmod_securityファイルと行番号が表示されます。

現在、ほとんどの場合、無効なヘッダーを検出しました。通常、HTTPプロトコルで予期される何かが欠落しています(ただし、必須ではないものの、99.9%の確率で存在するものをテストします)。

mod_securityによって提供される2つのファイルのうち、1つが作成されない可能性はほとんどありません。トランザクションのすべての詳細をディスクに書き込むときに非常に大量のディスク領域を使用する監査ファイルです。

POSTの場合、変数の数、または変数が正しく定義されていない場合は、mod_securityによって検出される一般的なエラーです。

Ubuntu(Debian)では、ログファイルは/ var / log / apache2 / ...(Apache出力)および/ var / log / apache2-more / ...(mod_security)の下に表示されます。

于 2012-06-16T20:55:30.753 に答える
1

mod_security is able to log all blocks in a log file. You can see in that log file exactly what rule it was.

于 2012-06-02T17:04:31.513 に答える