2011-09-29 81 views
0

请注意:我限制了这个脚本来显示基本结构。它不起作用。将敏感信息存储在被认为安全的类保护变量中?

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.)密码(散列)。

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

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

有人必须问,这是安全立场的风险吗?

+1

不,这不是风险。 – xdazz

回答

1

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

确保:

  • 你的错误报告以及配置,这意味着没有显示错误信息的任何活的或临时环境
  • 您与用户的交互始终是安全的(验证,转义,报价等)
  • 您不在Cookie中存储有关用户的纯文本信息
+0

哈哈,饼干和纯文本,rofl。感谢上帝,凭借我的专长,我已经过去了。 – kr1zmo

+0

马克我很满意你的回复。我太过分偏执。 – kr1zmo

相关问题