web-dev-qa-db-ja.com

受け付けできません!要求されたリソースの適切な表現がこのサーバーで見つかりませんでした。このエラーはMod_Securityによって生成されました

私はmoodle環境を初めて使用しますが、このエラーが発生しています:

受け付けできません!

要求されたリソースの適切な表現がこのサーバーで見つかりませんでした。このエラーはMod_Securityによって生成されました。

私は何もしていません。登録したユーザーを自分のWebサイトで表示しています。
http://www.joyfementira.com/dnsc/it14lms
プロフィール写真が適切にロードされていないことに気づいたので、それをクリックして(写真の位置)、エラーが発生しました。

おそらくこのエラーの原因は何ですか?どのように修正しますか?

12

このエラーは、Cookieがオフになっていて、mod_securityがセッションデータと一致するためにCookieを必要とする場合に一部のサイトに表示されます。物事をより安全にするために提案されています...それは結局迷惑になります。特に、googleBotや他の検索エンジンなどのWebインデックス作成クローラーはCookieを使用しないため、サイトではなくこのエラーが表示されます。

2
Eric Sebasta

Apacheには、URLによるSQLインジェクションをブロックしようとするmod_securityツールがあります。このルールは、いくつかの実際のURLもブロックしています。解決策は次のとおりです。

  • 専用サーバーでWHMにアクセスする
  • mod_securityツールを検索する
  • いくつかのURLをブロックしているかどうかを確認します
  • ルールIDをクリックします
  • クリックしてデプロイし、Apacheを再起動します

サーバーでWHMにアクセスできない場合。この問題をサーバー管理者に伝えてください。


これは私のURLをブロックしていたルールです

SecRule REQUEST_HEADERS | XML:/ * |!REQUEST_HEADERS:Referer "\ b(\ d +)?=?\ 1\b |\'\" [\'\"]?=?[\ '\"]\2\b "\" phase:2、capture、t:none、t:urlDecodeUni、t:htmlEntityDecode、t:replaceComments、t:compressWhiteSpace、t:lowercase、ctl:auditLogParts = + E、log、auditlog、msg: 'SQLインジェクション攻撃'、id:' 959901 '、tag:' WEB_ATTACK/SQL_INJECTION '、logdata:'%{TX.0} '、severity:' 2 '"

4
Marcelo

私の場合、ビューアファイルに表示する必要があるファイルへの間違ったパスを送信すると、このエラーを受け取りました。

err: example.com/subDir/myViewer.php?file=%27../../myImages/myFile.gif%27
fix: example.com/subDir/myViewer.php?file=%27../myImages/myFile.gif%27
1
Atara

フォームにリンクを入力するときに同じ問題が発生しました。 http://やhttps://ではありません

私が持っていた形で

<input type='text' name='demo'>

Name = 'demo'はもう受け入れられませんでした。 name = 'demo'をname = 'link'に変更して解決しました。

1

サーバーのセットアップの経験はありますか?これは自分でホストされていますか、それとも共有ホスティングパッケージですか?

私が尋ねる理由は、これがサーバー側(Apache)の問題だからです。

まず、.htaccessファイルに愚かなルールが含まれていないことを確認します。サーバーがアクセスを拒否しているため、エラーが発生します。

次に、ファイルのアクセス許可が正しく設定されていることを確認します。一般的に、ディレクトリを7/0/0または7/5/0に、ファイルを6/0/0または6/4/0にする必要があります。

Moodleセキュリティガイドラインの詳細についてはこちらをご覧ください。

プロフィール写真の問題に関しては、あなたが何を言っているのか完全にはわかりませんので、残念ながら私はその質問に答えることができません。二つの問題が物事の音に関連しているとは思えません。

1
Tim

あるサーバーから別のサーバーに通信するためのスクリプトを書いていますが、どちらのサーバーも所有していないため、設定を変更できません。一部の埋め込みURLでNot Acceptableエラーが発生しましたが、他のURLではありませんでした。たとえば、これはNot Acceptableになります: http://magic.kayaker.net/simlink.php?avname=http://junk.com これはできません: http: //magic.kayaker.net/simlink.php?name=http://junk.com (クエリをエスケープするかどうかにかかわらず失敗)2番目のコマンドは不明なコマンドを取得します。最初のものは、私のphpスクリプトを実行せずに、受け入れられないものを返します。私の解決策は、すべてのURLからhttp://を削除し、両端のスクリプトで元に戻すことです。

1
Mike Higgins

データベースに値を挿入するフォームを送信すると、同じエラーが発生しました。問題は、フォーム入力の1つがリンク(httpsを使用)であったことでした。その入力を取り出すと、エラーは表示されなくなりました。

0
Kevin Fox