【问题标题】:Secure a SMTP password in PHP在 PHP 中保护 SMTP 密码
【发布时间】:2014-09-13 14:47:38
【问题描述】:

我将在我的 WordPress 插件中使用 phpmailer 类来支持在我的电子邮件功能中使用 SMTP。将密码存储在 PHP 代码中是否安全?将登录名留在那里,我感觉不是 100% 舒服。所以我的问题是:它足够安全吗?我怎样才能轻松使它更安全;我应该在数据库中散列它还是什么?我知道 MD5 并不是真的那么安全,但我想它比把密码放在源代码中更好?

【问题讨论】:

  • 这是一个分布式插件还是你只打算在你的网站上使用的东西?
  • 无论哪种方式,您都需要纯文本密码。
  • 尝试将其存储在数据库中,并使用SHA1 散列。它更安全
  • Martin Fowler 有一篇文章,他说,你可以在你的源代码中加密你的密码,然后在结帐时,有一个解密脚本,需要输入密码,然后解密密码。
  • @sushant 如果经过哈希处理,则无法将其传递给其他服务进行身份验证。

标签: php wordpress email phpmailer


【解决方案1】:

基本上你不能——这里有很多帖子都这么说。但是,您可以对其进行混淆以阻止机会主义者。最直接的方法是将您的密码放在外部配置文件中(这可以帮助您避免明显的错误,例如将密码检查到 github)。您可以在某种程度上对其进行加密,但在某些时候您需要使用其他一些所谓的秘密密钥对其进行解密,所以您又回到了第一步。

md5 和 sha1(或任何其他散列函数)与这个问题无关;哈希函数根本不适用于这个用例。

【讨论】:

    【解决方案2】:

    大量网站在 PHP 源代码中存储密码。如果密码存储在<?php ... ?> 标签内,则可以认为它是安全的。

    PHP 源代码在暴露前由 PHP 引擎渲染,是必要的安全组件。除非您的网站本身存在安全漏洞,否则没有已知的读取方式。

    来源:

    Possible to view PHP code of a website?

    http://www.webmasterworld.com/forum88/10926.html

    Read source code with PHP

    http://www.vodahost.com/vodatalk/mysql-php/15061-php-source-code-php-files.html

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2013-01-25
    • 1970-01-01
    相关资源
    最近更新 更多