【问题标题】:Receiving 403 error when saving Joomla 3.4.8 article with php embedded保存嵌入了 php 的 Joomla 3.4.8 文章时收到 403 错误
【发布时间】:2016-06-16 01:27:39
【问题描述】:

我过去曾使用过此功能(早期版本的 Joomla),但一定是更改了某些内容,我无法使其正常工作(即使在全新的网站中也是如此)。我正在使用 Joomla 3.4.8、最新版本的 JCE 和 DirectPhp。 我将全局配置 > 文本过滤器设置 > 超级用户设置为无过滤,并调整了 JCE 管理 > 编辑器配置文件 > 默认 > 编辑器参数 > 高级 > 允许 PHP 为是。

然而,当我使用 PHP 代码保存任何文章时,我收到 403 错误。没有php代码它可以正确保存。

有人有什么提示吗?

【问题讨论】:

  • 谢谢 Mirko,我不知道。 :)

标签: php joomla http-status-code-403


【解决方案1】:

我们的许多客户都面临着同样的问题。事实证明,这与他们的主机强制浏览器缓存非静态内容有关。请按照此处的指南 (http://www.itoctopus.com/how-to-disable-browser-caching-in-joomla-backend) 并将适当的代码添加到 .htaccess 文件以防止浏览器缓存。如果它解决了您的问题,请在此处回复。

【讨论】:

  • 嗨 itoctopus,感谢您的链接。它没有帮助。我确实尝试将错误报告设置为最大值,但它并没有改变屏幕。以下是错误文本的其余部分:错误 403:禁止您无权访问此页面。这通常意味着以下情况之一:此文件和目录权限使它们无法从 Internet 访问。 .htaccess 包含阻止公共访问此文件或目录的说明。如果您能够执行此操作,请检查文件和目录权限以及 .htaccess 配置。否则,请请求您的网站管理员授予您访问权限。
【解决方案2】:

我想出的一种解决方法是直接在 PHPmyAdmin 中编辑 php 代码。

当您的代码错误或受到限制时,您的 apache 服务器上的 mod_security 似乎会导致错误被强制执行。 (这不是一件坏事,因为它确实阻止了对您网站的黑客攻击。)

通过 phpMyAdmin 需要更多的技能,但工作原理都是一样的。

无论如何,当我遇到这个问题时,这就是我现在所做的。 (困难的部分是首先找到导致错误的原因)

【讨论】:

    【解决方案3】:

    可能 mod_security 被设置为阻止 PHP 注入攻击,它认为这是一个。判断的方法是检查 apache 错误日志和 mod 安全审计日志。然后,如果您有权访问配置文件,则可以基于该 url 或该变量配置一个异常,以将其从 PHP 注入检查中列入白名单。

    警告:如果您这样做,请确保处理该表单的代码能够保护自己免受注入,因为您刚刚阻止了 apache 保护它。

    但最好的解决方案是编写一个可以从内容项调用的插件,而不是将所有代码注入到您的内容中。使其更易于维护——更改是本地化的,而不是分散在许多数据库记录中。更改插件一次,需要它的每个页面都会得到更改,而不必触摸数据库中的每个项目来进行相同的更改。

    PS:有一个 Joomla Stack Exchange。检查列表(在撰写本文时,右上角)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 2013-08-02
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 2023-01-30
      相关资源
      最近更新 更多