gpt4 book ai didi

asp.net - 当您的用户被黑客入侵时该怎么办

转载 作者:行者123 更新时间:2023-12-01 05:33:53 26 4
gpt4 key购买 nike

我最近在我的日志文件中看到了用户代理“Microsoft URL Control - 6.01.9782”导致问题的趋势。当我追踪 IP 时,它来自中国或印度。我们的网站非常本地化,因此我们很少有来自城外的访问者。

有趣的是,我通过 openID 看到了一个有效的登录用户。我对正在发生的事情的猜测是,用户计算机的 cookie 正在被克隆,并且病毒正在劫持 session 。我使用内置的 asp.net 身份验证来处理我的 cookie,而 Microsoft 不包括对 IP 或用户代理的任何检查,所以我知道我可以复制 cookie 并伪造登录。

我已经看到 Google 和 Facebook 帐户都是这样登录的。

我的问题是:

A) 有没有一种简单的方法可以使 asp.net 身份验证更安全?

B) 我应该如何处理这些账户? (最佳实践)我不收集任何个人信息,也无法联系我的一些用户。

最佳答案

您可以使用 HttpOnly 来阻止客户端脚本通过 document.cookie 属性访问 cookie。 Cookie 仍将往返,但脚本无法访问并且不会被盗。

使用 ASP.NET 1.1,在 Global.asax 中添加以下代码:

protected void Application_EndRequest(Object sender, EventArgs e)
{
foreach(string cookie in Response.Cookies)
{
const string HTTPONLY = ";HttpOnly";
string path = Response.Cookies[cookie].Path;
if (path.EndsWith(HTTPONLY) == false)
{
//force HttpOnly to be added to the cookie
Response.Cookies[cookie].Path += HTTPONLY;
}
}
}

对于 ASP.NET 2.0 及更高版本,您可以使用 web.config:
<system.web>
<httpCookies httpOnlyCookies="true" />
</system.web>

如果安全性在您的系统中非常重要,则更好的方法是投资建立到您站点的 SSL(安全套接字层)连接。然后,您可以设置一个 cookie 属性,该属性仅在存在 SSL 连接时才传输 cookie。 SSL 不能防止 cookie 在用户计算机上被读取或操纵,但它确实可以防止 cookie 在传输过程中被读取,因为 cookie 是加密的。
此方法需要获取 SSL 证书。

这可以在 web.config 的 httpcookies 元素中完成。
<system.web>
<httpCookies requireSSL="true" />
</system.web>

如果连接不是 SSL,则 cookie 不会发送到服务器。

查看更多:

ASP.NET Cookies FAQ

Design and Deploy Secure Web Apps with ASP.NET 2.0 and IIS 6.0

关于asp.net - 当您的用户被黑客入侵时该怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com