SSL是否足够安全,可以在查询字符串中使用敏感数据(如密码)?是否有任何额外的选项可以实施?
SSL提供安全的传输级安全性.客户端和服务器之间的任何人都不应该能够读取信息.
但是你应该改变主意在查询字符串中编写敏感数据.它将显示在浏览器的历史记录中,并在浏览器的地址栏和服务器上的日志中可见.请参阅此文章:通过HTTPS查询字符串的安全性如何?
如果使用查询字符串是你唯一的选择(我对此表示怀疑),这里有一篇关于保护查询字符串的有趣文章.
SSL是安全的,但请记住,如果有足够的时间和资源,任何加密都可能被破坏.鉴于您不知道哪些数据包包含密码而哪些数据包不包含密码,您必须解密所有加密流量才能找到正确的流量.这在一般情况下是难以处理的.
但是,登录表单需要输入[type = text]才能输入.它需要工作来"解包"这个并使用查询字符串将请求转换为HTTP GET请求,而不是使用表单参数中的数据的POST.我无法想象为什么有人会这样做.一旦用户提供了密码(并且用户通过了身份验证),请使用身份验证而不是保留密码.如果您需要保留密码,请进行模拟,例如,保持服务器端,最好是安全字符串.如果您正在尝试单点登录(为许多站点输入一次我的ID /密码),那么使用某种中央身份验证服务(CAS) - OpenID,WindowsLive - 或实现您自己的.
密码越过线路的次数越少越好.
而且,总有一个浏览器位置栏需要考虑哪个会争论你需要加密和编码你在查询字符串中放入的任何敏感数据,如前所述.