不能接受的!在此服务器上找不到所请求资源的适当表示。此错误由 Mod_Security 生成

Not Acceptable! An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security

我是 moodle 环境的新手,我遇到了这个错误:

Not Acceptable!

An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.

我什么都没做,我只是在我的网站上查看注册用户:
http://www.joyfementira.com/dnsc/it14lms
我发现我的个人资料图片加载不正确,所以我点击它(图片的位置),然后出现错误。

可能是什么导致了这个错误,我该如何解决?

您有搭建服务器的经验吗?这是自己托管还是共享托管包?

我问的原因是因为这是一个服务器端 (Apache) 问题。

首先,确保您的 .htaccess 文件中没有任何愚蠢的规则。出现错误是因为服务器拒绝访问。

其次,确保您的文件权限设置正确。一般来说,您希望目录为 7/0/0 或 7/5/0,文件为 6/0/0 或 6/4/0。

Read this for more details on Moodle security guidelines.

关于头像问题,我不太确定你指的是什么,很遗憾我无法回答这个问题。我怀疑这两个问题从事物的声音来看是相关的。

如果关闭 cookie 并且 mod_security 需要 cookie 来匹配会话数据,某些站点将出现此错误。它应该使事情更安全......它最终只是烦人。特别是因为像 googleBot 和其他搜索引擎这样的网络索引爬虫不使用 cookie,所以他们看到这个错误而不是您的网站。

就我而言,我在向查看器文件发送到需要查看的文件的错误路径时收到此错误。

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

Apache 有一个 mod_security 工具试图阻止 url 的 SQL 注入。此规则还阻止了一些真实的 url。解决方案是:

  • 在您的专用服务器中访问 WHM
  • 搜索 mod_security 工具
  • 检查它是否阻塞了一些 urls
  • 点击规则 ID
  • 单击部署并重新启动 Apache

如果您无法访问服务器中的 WHM。将此问题传递给您的服务器管理员。


这是阻止我的 urls

的规则

SecRule REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer "\b(\d+) ?= ?\b|\'\" \'\"] ?= ?[\'\"]\b" \ "phase:2,capture,t:none,t:urlDecodeUni,t:htmlEntityDecode,t:replaceComments,t:compressWhiteSpace,t:lowercase,ctl:auditLogParts=+E,log,auditlog,msg:'SQL Injection Attack',id:'959901',tag:'WEB_ATTACK/SQL_INJECTION',logdata:'%{TX.0}',severity:'2'"

我正在编写脚本从一台服务器到另一台服务器进行通信,但我不拥有任何一台服务器,也无法更改任何设置。我收到一些嵌入式 URL 的“不可接受”错误,但其他的则没有。例如,这一个变得不可接受: http://magic.kayaker.net/simlink.php?avname=http://junk.com 虽然这个没有: http://magic.kayaker.net/simlink.php?name=http://junk.com (无论我是否逃避查询都会失败)第二个得到一个未知命令,这是我的脚本生成的错误,第一个 returns 没有 运行 我的 php 是不可接受的脚本。 我的解决方案是去除所有 URL 中的 http:// 并让两端的脚本重新打开它。

在表单中输入link时出现同样的问题。 它不是 http:// 或 https://

在我的表格中

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

名称='demo' 不再被接受。我把name='demo'改成了name='link'然后解决了

我在提交表单以将值插入数据库时​​遇到了同样的错误。问题是其中一个表单输入是 link(使用 https)。一旦我取出那个输入,错误就不再出现了。

我在 HostMonster 中共享托管的 WP 网站遇到了同样的问题。我简单地通过 SSH 访问服务器并在 .htaccess 文件中添加了以下行来解决:

<IfModule mod_security.c>
  SecFilterEngine Off
  SecFilterScanPOST Off
</IfModule>

...在我的例子中,我试图保存一个 Wordpress 菜单,其中 link 指向 #process(div 的 ID)...更改了 #process到#ourprocess 并且它有效...

如果你问我的话,这很奇怪,但就其真实性而言,我能够将这个问题复制 10 多次。肯定是link的URL被列入黑名单了……

所以,如果您在共享主机(在我的例子中是 Bluehost)中使用 Wordpress,它可能是这个……或类似的东西。

只是为了补充答案。如果在您尝试登录 WordPress 网站管理员时发生这种情况,并且您在计算机上使用任何类型的 VPN,则必须将其关闭才能解决问题。

如果您关闭 VPN,您将能够登录而不会遇到此问题。

如果这是在 WordPress 上,您只需联系您的托管服务提供商,他们会将您的 IP 列入白名单

大多数情况下,此错误是由于位置造成的。就我而言,这也是一个 IP 问题。 使用任何 FREE VPN 解决此问题以获得永久解决方案,您可以联系您的托管服务提供商将您的 IP.

列入白名单

今天遇到同样的问题。

我试图在打开 browsec vpn 的情况下访问 wordpress 管理仪表板。

我把它关掉了,问题很快就解决了。