zony.me

ASP.Net MVC 当中XSS攻击的防范

XSS攻击的防范

什么是XSS攻击?

XSS攻击中文为跨站脚本攻击,这种攻击方式分为两种:

在被动注入当中,用户将“不干净”的内容输入到文本框中,这些数据又会保存在数据库中,以后又重新在页面上面显示。

用户把内容输入到文本框当中,这些内容会立即在屏幕当中显示出来。

MVC中如何阻止XSS攻击?

只需要在视图当中使用@Html.Encode与@Html.AttributeEncode方法对特性值的编码转换。 对于已经“净化”或者来自信任的数据源,我们可以使用@Html.Raw(Model.HtmlContent)辅助输出。

Install-Packeg AntiXSS

C#
@using Microsoft.Security.Application
@{
	ViewBag.Title = "HomePage"
}
@section featured{
	<section class="featured">
		<div class="title">
			<hgroup class="content-wrapper">
				<h1>@ViewBag.Title.</h1>
				<h2 id="welcome-message"></h2>
			</hgroup>
		</div>
	</section>
}

@section scripts{
	@if(ViewBag.UserName != null){
	<script type="text/javascript">
		$(function(){
			var msg = 'Welcome,@Encoder.JavaScriptEncode(ViewBag.UserName,false)!';
			$("#welcome-message").html(msg).hide().show('slow');
		});
	</script>
	}
}
ASP.Net MVC 当中XSS攻击的防范
作者 Zony · 发布于 2016-07-30
Licensed under CC BY-NC-SA 4.0
← 上一篇ASP.Net MVC4学习 - 初学MVC控制器下一篇 →ASP.Net MVC CSRF跨站请求伪造 防范
目录