【问题标题】:How do I store my website's config file securely?如何安全地存储我网站的配置文件?
【发布时间】:2012-10-18 00:39:33
【问题描述】:

我的网站有一个 config.php 文件,该文件存储在可公开访问的 Web 目录之外,其中包含我用来为该网站发送邮件的 gmail 帐户的密码信息和我的数据库连接凭据。我不喜欢将密码保存为纯文本变量的想法,并且正在寻找某种方法来更安全地保存这些数据。除了阻止我以外的用户对目录的读取访问权限之外,我还能做些什么来保护这些信息?

【问题讨论】:

  • 您具体要防范什么?
  • 使用内置的邮件发送功能或sendmail代替你的gmail。 (其实据我所知,内置邮件发送功能使用sendmail。)

标签: php security encryption config


【解决方案1】:

您最终会以纯文本格式保存大部分时间。比如说你想加密,然后解密的密钥必须以纯文本等形式保存。所以最好确保你的服务器是安全的。

【讨论】:

    【解决方案2】:

    取决于您要保护的内容。

    1. 将文件保存在 htdocs(webroot 目录)之外通常是一个好主意,这样就不能从外部显式调用该文件。 (即,将浏览器指向它)。

    2. 如果您想保护 $var 免受您的代码(即第三方恶意代码)的影响,您始终可以在变量被使用后取消设置它们,尽管我不知道这是否有很大的不同。

    3. 如果您想保护文件免受可能“入侵”您服务器的人的侵害,那么您无能为力。您始终可以设置文件权限,以便只有 www-data(您的 apache 用户)可以读取它,但如果有人获得您机器的 root 访问权限,您就完蛋了。

    无论如何,如果您的服务器是安全的(没有远程 root 访问权限,或者只能通过带有公钥/私钥的 shh 进行访问,您不能从公共 PC 访问您的服务器,等等...),您就不要使用第三方代码没有先检查它,你将 pass 文件存储在 webroot 目录之外,我认为你尽可能安全。

    【讨论】:

    • 是的,这与我得出的结论几乎相同。感谢您的信息!
    猜你喜欢
    • 2020-01-06
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多