将敏感信息存储在类保护变量中是否安全?

时间:2011-09-29 05:55:58

标签: php database class

请注意:我限制此脚本以显示基本结构。它不起作用。

class AuthController
{
   protected $dump = NULL;

   private function recall()
   {
      $dump = $this->query('SELECT * FROM table WHERE access="id" ORDER BY id ASC LIMIT 1');
      $this->dump = mysql_fetch_array($dump);
   }
}

$user = new AuthController($id);


请记住,转储将包含一个数组 1.)id(自动分类)。
2.)唯一名称。
3.)盐 - (用密码随机盐洗) 4.)密码(哈希)。

现在,我的问题和目的。我必须将用户数据转储到变量中以准备测试密码,以查看密码是否与数据库中用户存储的散列密码匹配。

另一种方法是使用两个查询。 first 将在db中检索与用户关联的salt - (使用salt来准备密码以匹配哈希)。并且第二个查询将传递准备好的密码以及用户ID或唯一名称,以查看是否发生匹配。我认为这是不必要的数据库资源使用;这些信息可以存储起来供以后使用。

必须要问的是,这是否存在安全观点的风险?

1 个答案:

答案 0 :(得分:1)

您在服务器端执行的所有操作都可以被认为是安全的。开始担心服务器在内存中的信息是不行的,因为我们会发疯。如果有人知道你服务器内存中的内容,那么无论如何他都可以完全访问你的系统(或者他的名字是John Skeet)。

确保:

  • 您的错误报告配置得很好,这意味着在任何实时或暂存环境中都不会显示错误
  • 您与用户的互动始终是安全的(验证,转义,引用等)
  • 您不会在Cookie中存储有关用户的纯文本信息