我对我的 IIS 网站有一些安全方面的担忧。
从我们服务器上的 PHP 文件 (FastCGI),脚本能够读取我系统的根目录 ( c:\
),甚至列出 的内容c:\windows
。更麻烦的是,我甚至可以像这样在根目录中创建目录:mkdir('c:\asdasd');
,并且它可以正常工作;我甚至可以读取其他网站的目录(所以实际上我可以从 PHP 脚本映射整个系统的目录树)。我认为这是一个巨大的安全问题。任何人都不应该能够读取或写入c:\
或其他托管网站的内容。
我知道有open_basedirPHP 中的指令,但我认为设置此指令并不能解决问题,因为我也可以使用任何其他服务器语言来访问相同提到的目录。
我的网站的目录树如下所示:
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\
不应该)。
我该如何限制这种访问?
谢谢!
答案1
在非常受限制的帐户下运行相关程序 - 该帐户在您的 Web 内容位置之外没有写入或执行权限。