我有一些关于我的IIS网站的安全问题。
从我们的服务器上的PHP文件(FastCGI),脚本能够读取我系统的根目录( c:\
),但是甚至列出了c:\windows
的内容。 更麻烦的是,我甚至可以在这样的根目录下创build目录: mkdir('c:\asdasd');
,而且没有任何问题。 我甚至可以阅读其他网站的目录(所以实际上我可以从PHP脚本映射整个系统的目录树)。 我认为这是一个巨大的安全问题。 没有人应该能够读取或写入c:\
或其他托pipe网站的内容。
我知道PHP中有open_basedir指令,但我认为设置这个指令并不能解决问题,因为我也可以使用任何其他服务器语言来访问相同的上述目录。
我的网站的目录树是这样的:
c:\net\web\php\ |- website1 |- other |- htdocs |- website2 |- other |- htdocs |- website3 |- other |- htdocs |- ...
网站的源文件在htdocs
目录下,所以这是这些网站的“根目录”。
我只是想启用网站的第一个父目录的读/写权限,例如c:\net\web\php\website1
(例如“ c:\net\web\php\website1\other
”可能是写,但c:\net\web\php\
不应该)。
我该如何限制访问?
谢谢!
在非常有限的帐户下运行相关程序 – 在您的网站内容位置之外没有写入或执行权限的帐户。