繁体   English   中英

储存会议

[英]Storing sessions

我正在创建一个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;
}

这是存储会话的好方法吗? 它可以被Cookie入侵吗?

还是你们更喜欢我什么?

谢谢!

一个简单的选项是通过将Cookies.Secure属性设置为true,将cookie仅限制在网站的Https部分。 检查MSDN

如果此属性为true,则cookie只能与https://请求一起发送。

但是,仍然有很多工作要做,以下几点建议可以帮助您更全面地了解:

  • 通过窃听来窃取会话令牌比说跨站点脚本要困难得多(假设存在漏洞)。 您需要访问网络(例如,用户的LAN或ISP)。 因此,根据基于风险的优先级划分,开发人员应首先解决XSS问题,因为它提供了更大的攻击面(攻击的可能性更高)。

  • 如果被黑客入侵的会话对业务的影响很大(例如,存储信用卡以供以后在网上商店中使用),则最好将整个站点限制为HTTPS,然后如前所述确保cookie的安全。

一些有用的资源:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM