【问题标题】:Protecting Secret Data from compromise保护机密数据免遭泄露
【发布时间】:2011-06-20 17:50:44
【问题描述】:

我目前正在使用 PHP/MySQL 开发 PUBLIC 和 OPEN SOURCE 软件。我在一个文件夹中有几个重要的 SECRET TXT 文件。我在软件中使用它们,但问题是任何知道文件夹和文件名的人也可以读取它们:

 secret_folder \ my_data.txt

我需要对所有可能试图在未经许可的情况下获取秘密数据的人隐藏它们。我找到了这种方式(将所有秘密文件夹保存在一个唯一文件夹下):

 U3IPpe8J_2573HkBfR0iYteH8X \ secret_folder \ my_data.txt

每个网站的唯一密钥都会改变(请记住,该软件将是开源和公开的)。

它对安全性是否足够好,还是我也应该使用 HTACCESS?如果是,我该如何使用它;或者你有什么更好的主意?

【问题讨论】:

  • superuser.com 可能是一个更好的提问地点
  • @mario:这是不正确的。这些文件在目录索引中不可见,但如果您知道正确的 URL,它们可以公开访问。您可能会想到^.ht 规则,它阻止访问像.htaccess.htpasswd 这样的文件——这是默认配置,但仅适用于以.ht 开头的文件。虽然按照您的建议创建这样的规则很简单,但它在默认配置中不是,并且说它充其量是误导。
  • @Piskvor:你是对的。在我的服务器上也不起作用。在 Debian 或更早的 Apache 配置中,<Files .*> 曾经有一个默认设置。但这表明依赖默认值是一个坏主意。
  • 为什么要将机密文件放在开源项目中?您是否试图向使用您的软件的人或他们的最终用户隐藏这一点?
  • @Dino beytar,如果您提供了有关此数据用途的更多详细信息,您也许可以就如何最好地处理它获得一些建议。我假设您正在源服务器上汇总这些数据?

标签: php security apache directory


【解决方案1】:

请记住,通过默默无闻的安全不是安全。所以不,这还不够好。

.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 服务器)。

【讨论】:

  • 更好的是,添加一个拒绝,但将数据存储在 'secret/my_data.php' 前缀为 - 那么如果有人确实绕过了拒绝,他们将看不到数据。
  • @symcbean:公平点。但是,如果他们以全部拒绝的方式通过拒绝,那么您还有其他事情要担心,因为他们可能已经损害了 Apache 本身来做到这一点......
  • 虽然这样做的问题是,如果你粗心并使用 Ultraedit 或保留备份的程序修改 my_data.php,该备份将不会被解释为 php,而是直接下载,允许任何人阅读它。
  • 我认为我们可以同意最好的选择是不要将数据存储在 web-root 中。但是,如果必须,请拒绝整个目录...
  • 如果我没有将我的数据存储在 web-root 中,我如何从 PHP 访问它?有什么办法?
【解决方案2】:

为了保护单个文件,请像这样使用 .htaccess

<Files my_data.txt>
order deny,allow
deny from all
AuthType Basic
require valid-user
satisfy any
</Files> 

【讨论】:

    【解决方案3】:

    帮助保护文件的一种方法是不要将它们作为文本文件。也许将结构中所需的数据放在 php 文件中。服务器将解释此代码,而不是将其作为 txt 文件提供。

    我必须同意其他评论者的观点:默默无闻不是安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多