0

目前我正在使用 MVC4 进行一个项目,其中我们有一个服务参考来查看数据库以返回我们的内容。服务参考要求我每次拨打电话时都提供用户名/密码。

什么是最好的做法?我应该加密密码然后将其保存到 cookie 中还是应该向用户颁发 Auth Token?还是会有第三种选择?

4

1 回答 1

2

第一的。不。只是不要。永远永远永远永远不会存储用户密码。绝不。我是认真的。绝不。在任何情况下。没有缓解因素。没有什么比你打破这条规则更重要的了。曾经。如果您唯一的选择是违反此规则(例如,通过您无法控制的第三方服务),请拒绝这样做。让某人,某处让步。如果必须,请辞掉工作。我就是这么严重。

如果您保存用户密码,您将破坏用户与软件之间的信任。如果被黑客入侵,您正在使密码可被发现,并且这些密码可以重新用于做讨厌的事情(例如进入某人的银行账户并拿走他们所有的钱)。如果您保存密码,您将成为整个互联网安全问题的一部分。我不在乎你认为自己有多小,或者数据可能有多不相关。某人的密码控制对许多您可能不知道的重要事情的访问。

所以不要这样做。只是不要。

现在,开始解决您的实际问题。如何处理这个问题因情况而异。此服务是否与 Web 服务器位于同一域中?它在你的控制之下吗?能不能换个界面?你在开发服务吗?请说明情况。

于 2012-10-31T14:46:37.090 回答