Mar*_*ein 9 c# asp.net cookies session-cookies
我正忙着为我的项目登录系统.
只是为了安全的额外步骤..如何检查/检测用户是否手动更改了cookie值?
有一些简单的方法吗?或者我是否必须设置一个额外的Session变量并将其与之匹配?有了这个说法,浏览器是否可以追溯正常的ASP.Net会话?并且可以向用户查看?
谢谢.
Bil*_*sky 10
您可以将数字签名附加到cookie值,并在读回时检查签名.这样,如果cookie值被篡改,那将是非常明显的.
private string sign(string hashStr, byte[] secret)
{
// Compute the signature hash
HMACSHA1 mac = new HMACSHA1(secret);
byte[] hashBytes = Encoding.UTF8.GetBytes(hashStr);
mac.TransformFinalBlock(hashBytes, 0, hashBytes.Length);
byte[] hashData = mac.Hash;
// Encode the hash in Base64.
string hashOut = Convert.ToBase64String(hashData);
return hashOut;
}
Run Code Online (Sandbox Code Playgroud)
编辑:修复编码器,使其显式为UTF-8.
像往常一样,在调用之前,您还应该确保在字符串中添加一些salt,请参阅: PHP密码的安全散列和salt
| 归档时间: |
|
| 查看次数: |
2640 次 |
| 最近记录: |