繁体   English   中英

在保存带有PHP的Joomla 3.4.8文章时收到403错误

[英]Receiving 403 error when saving Joomla 3.4.8 article with php embedded

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

但是,当我用Php代码保存任何文章时,都会出现403错误。 没有PHP代码,它可以正确保存。

有人有什么提示吗?

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

解决这个问题的一种方法是直接在PHPmyAdmin中编辑php代码。

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

通过phpMyAdmin需要更多技巧,但工作原理相同。

无论如何,这就是我遇到此问题时要做的事情。 (最困难的部分是首先找出导致错误的原因)

可能将mod_security设置为阻止PHP注入攻击,并且将其视为一种。 告诉方法是检查apache错误日志和mod安全审核日志。 然后,如果您有权访问配置文件,则可以基于该url或该变量配置一个例外,以将其从PHP注入检查中列入白名单。

警告:如果这样做,请确保处理该表单的代码将能够防御注入,因为您只是停止了Apache的防御。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM