我所有的项目页面都需要身份验证..通常我不使用[ValidateAntiForgeryToken] and @Html.AntiForgeryToken()
在我的控制器和视图上..只有登录页面有它..
- 这些是什么
[ValidateAntiForgeryToken] and @Html.AntiForgeryToken()
??
- 我需要使用它们吗?
- 我必须使用哪个 cookieless?
我的 web.config 的部分是这样的;
<authorization>
<deny users="?" />
</authorization>
<authentication mode="Forms">
<forms loginUrl="~/User/Login" timeout="30" cookieless="UseDeviceProfile" name="AbosSMSP" />
</authentication>
My error like this;
认为防伪令牌是一种确保进入后期操作的请求实际上源自您输出的视图的方法。它可以阻止跨站点脚本攻击,我认为它也可以处理后重放攻击。
保护应用程序的前门是一个好的开始,它可以阻止人们通过暴力窃取数据,但是,它并不能阻止所有形式的攻击。社会工程和网络钓鱼等技术可以让某人进入您的网站,而不会破坏登录页面。
一旦进入,他们可能会遇到各种肮脏的事情,因此请查看 OSWAP 建议,看看是否存在您可能容易受到的任何其他攻击。http://www.ergon.ch/fileadmin/doc/Airlock_Factsheet_OWASP_en.pdf http://www.ergon.ch/fileadmin/doc/Airlock_Factsheet_OWASP_en.pdf
如果有疑问,您可以让道德黑客对您的网站进行几百斯特林的笔测试,如果您正在保护敏感数据,那么我会建议这样做,因为他们会提取您可能想不到的东西。
我的重要安全提示
- 登录页面上的防伪令牌
- 将所有身份验证尝试减慢至少一秒(使暴力破解变得不切实际)
- 对 n 次无效登录实施帐户锁定程序
- 始终在失败的登录中使用通用错误消息,以防止黑客知道登录的哪一部分是错误的
- 始终使用盐加密数据库中的密码,盐应该针对每个用户,以防止对被盗数据库的彩虹攻击
- 始终确保显示或检索的任何数据对该用户有效
- 始终使用参数化sql
- 尝试混淆 url 和视图中传递的 id,以防止修改或尝试直接引用攻击
接下来,我认为您将涵盖渗透测试所带来的大部分内容,并为您提供一个安全网站的良好基础
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)