保护网站文件夹中的文本文件

时间:2013-03-31 16:43:25

标签: php security

我的网站目录中有几个文件夹,其中包含名为" secure.txt"的文本文件。 出于安全原因,这些文件的URL永远不会显示在webbrowser中,但我的网站会搜索包含敏感信息的这些文件(PHP代码)。

如何让PHP代码可以读取这些文件但通过url限制访问,这样潜在的黑客就无法读取这些文件的内容?

6 个答案:

答案 0 :(得分:2)

将它们放在文档根文件夹旁边,并将以下.htaccess文件放在要保护的文件夹中。此外,如果您不想通过特定IP访问它,请删除最后一行。

order deny, allow
deny from all
allow from 192.168.0

[编辑:] 允许php脚本等允许localhost(127.0.0.1)

order deny, allow
deny from all
allow from 127.0.0.1

答案 1 :(得分:1)

你应该将它们放在另一个文件夹中并从所有文件中删除.htaccess,允许来自127.0.0.1

答案 2 :(得分:1)

老技巧:用<?php die("I'm a fraid I can't do that, Jim"); ?>作为前缀,然后将它们称为*.php。在解析时,忽略前缀。

修改

为什么这样?其背后的基本原理是,您可以避免依赖某些特殊的Web服务器配置,这些配置会被遗忘(移动到新服务器时),不可用(许多便宜的主机不会给您.htaccess),不适用于某些Web服务器软件(IIS)等。

因此,推理是将一些计算开销与灵活性,可移植性和平台独立性进行交换。

答案 3 :(得分:0)

您可以将它们完全移出您的网站目录吗?如果是这样,那么确保PHP可以访问该目录! (open_basedir值需要包含它。)

答案 4 :(得分:0)

我建议将文件移出webroot以保证安全[/ p>]

答案 5 :(得分:0)

如果您使用Apache,则拒绝访问secure.txt内所有名为httpd.conf的文件:

<Files secure.txt>
  deny from all
</Files>

您也可以通过.htaccess文件执行相同的操作(如果您的服务器配置为允许来自htaccess的覆盖访问权限)。

但更好的解决方案是将敏感信息包含在PHP脚本本身中,或将其存储在数据库中。