我想让我的txt文件安全

时间:2009-05-29 19:07:24

标签: php permissions

目前的状况。 我必须设置 606为我的foobaa.txt。

我写了一个php代码, 读写 foob​​aa.txt,

我想做 foob​​aa.txt的许可为 600。

但是当我测试600时, PHP代码无法读写 foob​​aa.txt。

所以我改为606 foobaa.txt, 然后我的PHP代码可以读写 foob​​aa.txt。

这是问题,因为

当有人提出

TTP://blabla.foobaa.com/foobaa.txt

直接,然后他可以看到的内容 foob​​aa.txt。

这是安全漏洞。

所以我想为600制作 foob​​aa.txt的许可, 但如果我这样做的话 php代码无法读写 foob​​aa.txt。

我认为管理员可以修改一些 apatch设置我们可以设置 txt文件的权限为600。

还是我还要做其他事情?

像.htaccess之类的东西。

2 个答案:

答案 0 :(得分:8)

您的PHP代码作为Web服务器运行,而不是SSH进入帐户并更改权限的用户。因此,如果脚本可以读取文本文件,则服务器可以读取它。您需要通过以下几种方法之一来控制外部用户对文件的访问。

  1. 将文件放在DocumentRoot之外,以便脚本可以访问它,但是无法通过HTTP请求。

  2. 将文件放在一个.htaccess文件的目录中,该文件只读取Deny From All。您也可以单独保护文件,但是您可能会有其他相关文件应该保密。您可以将它们放在同一目录中。

答案 1 :(得分:2)

您可以通过.htaccess限制访问:

<Files foobaa.txt>
    Deny from all
</Files>

或类似的东西。但这并不完美...更好的方法是将文件移到public_html(或等效的)文件夹之外。