【问题标题】:Best way to secure data PHP + MYSQL [closed]保护数据 PHP + MYSQL 的最佳方法 [关闭]
【发布时间】:2009-04-03 09:17:30
【问题描述】:

我正在构建一个应用程序,它将存储我们的一些客户详细信息,例如用户名/密码,我们需要记住并确保安全的信息。

安全存储这些信息的最佳方法是什么?

【问题讨论】:

    标签: php mysql security administration


    【解决方案1】:

    这样一个开放式的问题,没有太多细节可以继续。我建议您在继续之前阅读 Chris Shiflett 的出色“Essential PHP Security”。简明扼要,非常实用。

    本书的网站http://phpsecurity.org/也提供了相当数量的建议

    【讨论】:

      【解决方案2】:

      使用 PHP 框架确保安全

      如果您想在不进行大量研究的情况下快速设置 PHP 安全性,那么 PHP 框架将是一个好主意。

      我是CodeIgniter 的粉丝,但其他选项包括CakePHP 和Zend。

      使用安全框架意味着您可以立即获得经过验证的方法,但是学习该框架可能需要一些时间和精力。

      一共list of PHP frameworks can be found on wikipedia。

      【讨论】:

      • 使用框架不会阻止您制作不安全的应用程序。您确实需要了解安全最佳实践。框架不能替代安全编码。因为使用框架而不自学安全知识是一种非常无知的自挖安全漏洞的方式。
      • 很公平。框架不是灵丹妙药。但是,可以清理您的数据并帮助您避免许多 XSS 攻击的内置安全类对于没有经验的人可能非常有用。
      【解决方案3】:

      其实很简单。设置一个快速的 MySQL 数据库和一个用户表。在该用户表中,将用户名存储在一列中,并将密码的哈希版本存储在另一列中。

      为了增加安全性,我喜欢生成一个随机的 8 个字符串并将其存储在每一行中 - 我称该列为“Keycode”。当用户使用正确的用户名/密码登录时,我将他们的身份验证存储在会话变量中,AS WELL 作为匹配的“Keycode”。

      这样,会话认证不仅可以查找正确的用户名/密码,还可以快速查询db,并检查会话变量中存储的“Keycode”是否与行中的keycode相同。

      它运作良好,因为甚至用户都不知道他们的键码。

      【讨论】:

        【解决方案4】:

        就密码而言,您应该存储密码的哈希值。每当您对用户进行身份验证时,您都会对他们输入的密码进行哈希处理,并将结果与​​您存储的内容进行比较。这样您就不会存储实际密码。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多