我想在第三方网站上放一个按钮。该网站将是开放和面向公众的,当点击,将导航到我的网站上的一个页面。
按钮中的href将包含一个id——一个加盐的散列——它将用于标识按钮单击ie的来源。第三方。所以按钮的形式应该是id是加盐散列。
我想使用盐渍哈希来检索数据库凭据,以便第三方能够在网页中使用。
所以,我有两个问题,考虑到安全影响,我不确定,但有点紧张。
- 这样做是安全和良好的做法,还是我开放自己的黑客攻击?
- 是否有一种替代方法可以在不让第三方输入通常的用户名/密码类型凭证的情况下做到这一点?
任何帮助,评论-非常感谢!
多谢内维尔
您的示例似乎是用一种相当复杂的方式来做一些简单的事情。这种方法的安全性取决于您希望在数据库中保存并在重定向到您的站点后与用户共享的数据的敏感性。如果这是公共数据,那就没问题了。做你需要做的。如果这是某种敏感数据—那么,您希望至少对用户进行身份验证。
请注意,在页面某处的某个按钮上附加一个加盐哈希/未加盐哈希/secret/UUID/digest/whatever会使其公开可用,并且使其无法用作安全功能。使用加盐散列也没有什么价值。使用一些随机值,比如UUID版本4。
为什么要提取id的凭据并连接到数据库也是一个问题。您通常希望打开所有数据库连接,并将它们放在某个连接池中,以便能够根据需要快速获取它们。打开一个连接需要很长时间,所以我们可以通过缓存来加快速度,这是很有价值的。