在我的.htaccess文件中,我使用变量(SetEnv
)在我进行更新时切换网站的开/关,是安全还是甚至可以通过PHP脚本修改.htaccess文件?
更具体地说,我需要评论/取消评论这些行:
#RewriteCond %{REMOTE_ADDR} !LOCALIPHERE
#RewriteCond %{REQUEST_URI} !^/Site/maintenance.htm
#RewriteCond %{REQUEST_URI} !^/Site/styles/style.css
#RewriteCond %{REQUEST_URI} !^/Site/includes/jquery-1.4.4.min.js
#RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|swf)$
#RewriteRule ^.* /Site/maintenance.htm [L]
谢谢
修改
我对安全的定义是:我想知道如果PHP脚本打开.htaccess文件并且同时访问该网站,该网站将如何表现。
答案 0 :(得分:6)
如果文件可由PHP进程写入,则可以像修改其他文件一样进行修改。
但是,您应该使用RewriteCond
检查您的env var。
答案 1 :(得分:1)
如果可靠的话,我会在考虑范围内评估“安全修改” - 不会引入语法错误。要做到这一点,我建议你使用更具体的评论标记:
#<off>#RewriteCond %{RE...
使用简单的字符串操作扫描和替换更安全,从而减少修改.htaccess文件时导致500错误的可能性。如果您要启用/禁用不同类型的设置,请使用多个更具体的令牌。
关于安全性本身,让它们具有世界可写性与具有世界可写的PHP脚本或配置文件具有相同的含义。
答案 2 :(得分:0)
只要你知道,你在做什么,它是安全的。但是,如果手动编辑文件并且在脚本中没有反映这种情况,则很容易将其破坏。