我试图保护平面文件数据库不被除了从我的服务器运行的PHP以外的任何人访问或查询。
Google拥有许多非常广泛的理论,但在网络服务器上保护数据的流程方面没有任何实质性。它不能包含在Web根目录之上。
答案 0 :(得分:3)
您可以使用.htaccess:
<Files *.db>
Deny from All
</Files>
答案 1 :(得分:1)
您可以使用.htaccess
使用<Directory ~ "db">
Deny from all
</Directory>
无法访问整个目录,类似于上面的内容,但我会为这些目录创建一个单独的目录并禁止整个目录:
{{1}}
这显然会禁止您从webroot放入“db”目录中的任何文件。
答案 2 :(得分:1)
“必须包含在web根目录中”限制可能是个问题;这当然不太理想。
我的建议是在webmasters询问如何配置Web服务器禁止访问此文件(不要在不必要时信任程序员),但请记住你必须确保无法通过脚本显示文件的内容。
另外:如果你有可能运行显示文件内容的脚本,你必须特殊使用这样做的代码来明确阻止它在你的数据库文件。这只能在逐个案例的基础上完成,而且必须始终牢记这一点(将来可能会添加具有此功能的代码)。不是令人羡慕的情况。
¹这比你想象的要容易得多:即使像include($view)
那样“简单”的东西,其中$view
可以从URL提供并且没有经过适当的验证可以造成损害。