求助:ASP.net的系统,“会话标识未更新”高危漏洞
在登陆页面的Page_Load事件里加入了如下代码:
if (!IsPostBack)
{
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
}
结果登陆页面就不起作用了,是什么原因?
请问有什么解决这个高危漏洞的方法?最好给出代码示例
[解决办法]
<form id="form1" runat="server"> <div> <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> <asp:Button ID="btnLogin" runat="server" Text="登录" onclick="btnLogin_Click" /> </div> </form>
[解决办法]
有Session.Abandon()的话页面都不能用了
这个是矛盾的,你使用Session的话,就不能避免这个问题,因为如果没次你的SEssionID都变化的话,那么Session的内容你就永远得不到的。
因此,你可以改用Cookie而不是使用Session