C# 如何清理 XSS 字符串?

标签 c#

C# 中用于清理 HTML 数据以防 XSS 的最可靠或开发最完善的库是什么?我宁愿不使用完整的框架来做到这一点。也许甚至不需要图书馆?我宁愿不做我自己的正则表达式实现,即使它的复制和粘贴正则表达式被证明是有效的,当然有一个库在那里。

PHP有htmlspecialchars()为了防止XSS,它只用于输出数据,而不对存储的数据做任何事情。 C# 有类似的东西吗?

最佳答案

在XSS攻击中,黑客可以将恶意JavaScript代码注入(inject)到网页中,该代码将在客户端浏览器中执行。

您可以尝试以下方法:

  • 文本在添加到 DOM 之前应先进行 HTML 编码

  • X-XSS-Protection header 应用于启用 XSS 过滤器 浏览器:X-XSS-Protection "1; mode=block"

  • 应使用诸如 TempData 之类的内容在 View 之间传递数据,而不是攻击者可以在其中注入(inject)恶意 JavaScript 代码的参数

Here是一篇关于预防XSS攻击的好文章

关于C# 如何清理 XSS 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45396709/

相关文章:

c# - 如何获取 Generic.Xaml 中自定义控件的事件处理程序

c# - 为什么在我尝试设置 Windows 8 设置时会发生此不相关的错误?

c# - 如何使用 LINQ (C# 3.0) 更改 IDictionary 的内容

c# - 是否可以将属性名称作为字符串传递并为其赋值?

c# - 在 gridview 行命令中获取 BoundField 值

c# - LINQ .Any VS .Exists - 有什么区别?

c# - 异步等待行为

javascript - 对象不支持属性或方法 'autocomplete'

c# - AIM SDK 发生了什么变化?

c# - .NET Windows窗体自定义布局引擎