Php Web.config上的写入权限存在安全问题
我目前有一个PHP站点运行在IIS7.5服务器上 我在web.config中为IIS使用内置的url重写工具 我的CMS管理员有能力允许用户编写自己的重写。因此,我的管理工具(用PHP编写)需要IUSER的写修改权限,以便PHP修改文件。然而,我认为这对于安全性来说可能不是一个好的实践,所以我决定将重写移到web.config引用的rewrite.config文件中。然后,我为重写文件而不是web.config授予写/修改权限 唯一的问题是IIS会缓存外部重写文件,并且不会重新加载它,除非缓存了web.config的上次修改日期。我可以手动强制服务器重新加载rewrite.config文件,方法是在文本编辑器中打开web.config,添加空格或其他内容,然后单击“保存”,服务器会注意到上次修改的日期已更改,然后使用新的重写重新加载重写文件 但是我不能永远这样做,我需要我的管理工具来允许用户添加他们自己的重写,而无需在重写生效之前致电我对web.config进行更改 我了解到我可以在web.config文件上调用PHP中的touch函数,这解决了我的问题,因为它更改了web.config文件上最后修改的日期。但是,为了使touch正常工作,PHP需要IUSER具有写入权限,但不需要修改权限 所以最后我的问题是。。。就安全性而言,允许web.config具有IUSER读写权限,但不允许修改吗?或者这仍然是一个安全问题Php Web.config上的写入权限存在安全问题,php,iis-7,url-rewriting,web-config,security,Php,Iis 7,Url Rewriting,Web Config,Security,我目前有一个PHP站点运行在IIS7.5服务器上 我在web.config中为IIS使用内置的url重写工具 我的CMS管理员有能力允许用户编写自己的重写。因此,我的管理工具(用PHP编写)需要IUSER的写修改权限,以便PHP修改文件。然而,我认为这对于安全性来说可能不是一个好的实践,所以我决定将重写移到web.config引用的rewrite.config文件中。然后,我为重写文件而不是web.config授予写/修改权限 唯一的问题是IIS会缓存外部重写文件,并且不会重新加载它,除非缓存了
如果是这样,我正在为这个网站创建什么漏洞?而且,我如何才能改变我的方法,不让自己暴露在这些弱点面前 回答我自己的问题。最好的做法是避免将I_用户权限授予web.config。我们最终重写了代码,不再需要它