我在家用电脑上运行网络服务器作为我在互联网上维护的WordPress网站的开发版本。我在FreeBSD 11.1系统上运行WordPress 4.8.3,php 7.1和apache 2.4。一直运行良好的好几个月,直到昨天下午它突然停止显示图像。
apache错误日志显示" wp-content / uploads / .htaccess:php_flag这里不允许"消息。
这是相关的.htaccess文件。
# BEGIN Wordfence code execution protection
<IfModule mod_php5.c>
php_flag engine 0
</IfModule>
<IfModule mod_php7.c>
php_flag engine 0
</IfModule>
AddHandler cgi-script .php .phtml .php3 .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
# END Wordfence code execution protection
该文件是由WordFence安全插件创建的,以防止在uploads目录(存储我们的图像的位置)中执行代码,它已经存在了好几个月而没有造成任何问题。我们的网站上存在相同的文件,它在Centos系统上具有相同版本的WordPress,php和apache,并且我还没有任何问题(
)。作为一种解决方法,我删除了.htaccess文件,现在一切正常。由于该网站无法从我的家庭网络外部访问,因此该删除不会带来任何重大的安全风险,但我希望能够跟踪并解决问题的原因,以防万一。&# 39;可能发生在生产现场。
我不知道任何可能导致行为突然改变的变化。我当时以普通用户身份登录,对其中一个插件进行了一些更改。该插件无法改变任何apache配置设置,尽管我确实将插件恢复到其早期状态但没有任何效果。
为了追查问题的原因,我已经完成了以下工作:
这些都没有产生任何问题的解决方案。
还有哪些因素会导致这种突然拒绝php_flag指令?