存储会话
本文关键字:会话 存储 | 更新日期: 2023-09-27 18:24:04
我正在创建一个ASP网站,我的会话存储方式如下:
public List<User> getUser(string username, string password)
{
SELECT * FROM User WHERE Username = @username AND Password = @password
}
List<User> userList = Database.getUser(txtUsername.Text, txtPassword.Text)
foreach(User u in userList)
{
Session["Username"] = u.Username;
}
这是存储会话的好方法吗?它能被黑客入侵吗?
还是你们更喜欢我?
谢谢!
一个简单的选项是通过将cookies.Secure属性设置为true,将您的cookies仅限于网站的Https部分。查看MSDN。
当该属性为true时,cookie只能通过https://请求发送。
然而,仍然有很多事情要做,下面的几点可能会帮助你了解更广泛的情况:
-
通过窃听窃取会话令牌比跨站点脚本(假设存在漏洞)要困难得多。您需要访问网络(例如用户的LAN或ISP)。因此,根据基于风险的优先级划分,开发人员应该首先解决XSS问题,因为它提供了更大的攻击面(攻击的可能性更高)。
-
如果会话被黑客入侵的业务影响很大(例如,存储信用卡以备日后在网上商店使用),您最好将整个网站限制为HTTPS,然后像前面解释的那样确保cookie的安全。
一些有用的资源:
- 数字威胁
- 黑客手册