创建一个PHP可以读取的安全文件?

时间:2011-09-23 21:01:17

标签: php security file file-get-contents

我有一个类似这样的文件,它是一个用户数据库(udb.htm):

user1:pwd1
user2:pwd2
user3:pwd3

类似的东西。我想保护此文件,并通过file_get_contents("udb.htm");方法使其可用于PHP,但不是浏览器窗口。谢谢!

5 个答案:

答案 0 :(得分:2)

你可以:

  • 将文件上传到公共html目录之外的目录中,但该php有权访问
  • 使用apache .htaccess< Files>阻止对文件的访问。或类似的
  • 使用HTTP基本身份验证
  • 将您的数据保存在实际数据库(mysql,mssql,oracle,sqlite)

答案 1 :(得分:1)

将文件放在Web根目录之外。例如,在包含public_html的目录中。 PHP可以访问它(以及系统上的任何其他文件),但是你无法从网上获取它。

答案 2 :(得分:0)

将文件移动到PHP仍可访问的文件夹中,但不能移动到Web客户端。

答案 3 :(得分:0)

您要做的是将数据库放在Web路径下面。例如,如果您的网站位于www.example.com,并且它指向:/ var / www / html

然后您可以将密码文件放入/var/www/password/udb.htm

然后从你的PHP脚本访问它作为file_get_contents(“../../ password / udb.htm”)

您的脚本可以访问该文件,但您的Web服务不会。

答案 4 :(得分:0)

这会在打开文件之前更改文件的权限,并在关闭文件时删除授权,请确保文件的Web服务器权限。

<?php

$file = 'udb.htm';
chmod($file, 0600);
$contents = file_get_contents($file);
chmod($file, 0000);

?>