首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASP.NET核心剃刀视图中防止XSS攻击?

如何在ASP.NET核心剃刀视图中防止XSS攻击?
EN

Stack Overflow用户
提问于 2020-09-28 01:19:10
回答 1查看 620关注 0票数 0

在我的.cshtml文件的某些部分中,我应该呈现用户使用Html-Editor输入的Html

我的代码是:

代码语言:javascript
复制
<div id="description">
    @Html.Raw(Model.Html)
<div>

但是对于XSS Attacks来说,@Html.Raw()是不安全的,例如,如果用户输入的内容是这样的:

代码语言:javascript
复制
"<script>alert('XSS attack!')</script>"

此脚本在进入此页面后运行!

如何防止在呈现Html时运行这些脚本(通常是XSS攻击)?

EN

回答 1

Stack Overflow用户

发布于 2020-09-28 01:35:28

您可以在呈现HTML之前对其进行编码:

代码语言:javascript
复制
@Html.Raw(Html.Encode(Model.Html))

但这与使用以下命令呈现它是相同的:

代码语言:javascript
复制
@Model.Html

如果你渲染超文本标记语言,使用视图源,或者浏览器的检查器,并复制生成的script标签,你会看到它已经被编码:

代码语言:javascript
复制
&lt;script&gt;alert('XSS attack!')&lt;/script&gt;

但我个人更喜欢使用Html.RawHtml.Encode的组合,因为它使读者更清楚其意图是什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64091270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档