我有一项任务是在一个旧式开发的网页上工作。
这意味着,常用的变量/常量和数据库连接的变量都在查看php-engine中,而不是在一个单独的文件中。 : - (
我以为我会将它们放入config.php或config.inc文件中,只需使用require_once('/ path / filename');在引擎中。
我的问题是,我对安全性不熟悉,所以我想,我改变了权限(可能是755?)。
我还能做什么吗?
答案 0 :(得分:4)
将配置文件移到公用文件夹之外,以便无法通过URL访问它。否则,您的网络服务器中的错误配置可能会发送未解析的文件(有人可能忘记告诉网络服务器.inc文件应该通过php运行。我从来没有为它们命名.inc。因为.php)。这种情况很少见,但我在访问的网站上至少发生过两次这样的事情,并且他们的文件中也有凭据。
答案 1 :(得分:3)
需要保留文件权限。但你确实可以通过以下方式使脚本无法访问:
<Files config.php>
Order Deny
Deny From All
</Files>
但这只是一种肤浅的预防措施。如果您将该脚本命名为“config.php”,则无论如何都无法通过Web访问。
如果您在共享主机上,则无法阻止来自其他帐户的窥探。这需要使用suphp / suexec进行服务器设置,以限制对其他用户的文件系统访问。
答案 2 :(得分:2)
如果您将配置文件命名为whatever.php并且它只有常量或变量定义(甚至更多代码)并且您包含它,那么这没有安全问题。 Wordpress使用这种方法