我目前正在使用PHP / MySQL开发PUBLIC和OPEN SOURCE软件。我在一个文件夹中有几个重要的SECRET TXT文件。我在软件中使用它们,但问题是任何知道文件夹和文件名的人都可以读取它们:
secret_folder \ my_data.txt
我需要将他们隐藏起来以防止未经许可可能试图获取秘密数据的所有人。我发现了这种方式(将所有秘密文件夹保存在一个唯一的文件夹下):
U3IPpe8J_2573HkBfR0iYteH8X \ secret_folder \ my_data.txt
每个网站都会更改唯一密钥(请记住该软件将是开源和公共的。)
安全性是否足够好,还是我应该使用HTACCESS?如果是,我该如何使用它;或者你有更好的主意吗?
答案 0 :(得分:7)
请记住,安全性通过晦涩不安全。所以不,这还不够好。
在.htaccess
中为secret_folder
添加拒绝规则并完成。
因此,您的.htaccess
将包括:
<Directory /secret_folder>
order allow,deny
deny from all
<Directory>
更好的办法是将secret_folder
移到网络根目录之上(因此根本不会提供)。
/public_html/index.php
/secret_folder/my_data.txt
这样,任何人都不可能通过Apache请求my_data.txt
(如果他们攻击PHP代码,他们就可以,但不能直接通过Web服务器)。
答案 1 :(得分:2)
为了保护单个文件,请使用.htaccess,如下所示
<Files my_data.txt>
order deny,allow
deny from all
AuthType Basic
require valid-user
satisfy any
</Files>
答案 2 :(得分:2)
帮助保护文件的一种方法是不将它们作为文本文件。也许将结构中所需的数据放在php文件中。服务器将插入此代码,而不是将其作为txt文件提供。
我必须同意另一位评论者:默默无闻是不安全的。