- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道我这样做是否正确。
我第一次构建一些东西来防止对页面的攻击。<br/>我将从底部开始:
我有属性(property):
public string Description {get;set;}
用户可以通过tinyMCE设置它的值
tinyMCE.init({
mode: "textareas",
theme: "advanced",
encoding : "xml"...
在将其保存到数据库之前,在 Controller 中,我执行以下操作:
model.Description = HttpUtility.HtmlDecode(model.Description);
在数据库中我有这样一个值:
<p>bla bla bla</p>
我将 AntiXSS 库添加到我的项目中:
public class AntiXssEncoder : HttpEncoder
{
public AntiXssEncoder() { }
protected override void HtmlEncode(string value, TextWriter output)
{
output.Write(Encoder.HtmlEncode(value)); // on breakpoint code always get in here
}
...
当我显示我使用的数据库中的数据时:
@Html.Raw(Model.Place.Description)
它工作正常我只看到文本。没有 Html 标签。隔断线工作正常。我可以为文本设置粗体、斜体等样式。
但是如果我输入:
<script>alert(open to attack);</script>
我收到警告窗口。
我不明白我是否需要做更多的事情来防止这种情况发生?
最佳答案
I added AntiXSS library to my project
你在哪里使用它?
确保您不仅添加了 AntiXSS,而且还实际使用了它:
@Html.Raw(Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(Model.Place.Description))
但请记住,新版本的 AntiXSS 库有点太严格了,会去除像 <strong>
这样的标签。和 <br>
可能不需要。
作为 AntiXSS 库的替代品,您可以使用 HTML Agility Pack做这个工作。里克·斯特拉尔 blogged about a sample implementation
.
关于asp.net-mvc - 我使用 AntiXSS 但我仍然可以破解页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14612875/
GCC 可见性功能使我们能够去除共享库中我们不希望客户看到的那些 API。事实上我们不能使用 ldopen 来调用那些隐藏函数,但我想知道这是否足够安全以保护我们敏感的 API。 我只想得到一些关于共
这个问题在这里已经有了答案: C# Structs "this = ...." (2 个答案) Assignment of a struct value to this keyword (2 个答案
下面一段代码给大家介绍python破解geetest 验证码功能,具体代码如下所示: ?
默认的 WordPress 类别小部件不允许排除命名类别。 我创建了一个插件,该插件将自定义类别小部件添加到“可用小部件”列表中,这使我可以对要排除的项目进行一些控制。代码如下... 但是,我希望生
有一些语言支持足够强大的类型系统,它们可以在编译时证明代码不会在其边界之外寻址数组。我的问题是,如果我们要将这样的语言编译到 JVM,是否有某种方法可以利用它来提高性能并删除每次访问数组时发生的数组边
此时,毫无疑问,由于浏览器限制,在 TinyMCE 中右键单击粘贴是不可能的(除非用户专门启用它)。 但是,是否有任何解决方法,例如使用 JavaScript 捕获粘贴事件,将剪贴板内容粘贴到某个隐藏
我是 Angular JS 新手,找不到此问题的解决方案。我必须使用用 Angular 1.4 编写的在线 Web 表单(我无法控制),并且我想注入(inject)一些 JavaScript 来更改字
我正在考虑一种以 Oracle 不希望的方式使用物化 View 日志的解决方案。这个想法是为 Oracle 源和非 Oracle 目标实现快速刷新 MV 功能。我已经测试了这种方法以确认它有效,但我担
我需要更改几个 FIT 图像标题中的一些值以适合我拥有的一些测试数据。因此,我正在尝试立即破解 FIT 图像标题以与应用程序一起运行。 然而此刻 - 我什至看不到标题,别介意破解它。我运行 Ubunt
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我已经完成了我的网站制作,但后来我在 IE8 中加载了它。大问题!例如,我的一堆 div 和 span 元素似乎是透明的(它们应该有彩色背景),并且 float 元素不起作用。 当我开发我的网站时,我
纯粹的好奇心,不用于生产,因为显然它可能会导致重大问题。 对于 C++,当您分配新内存 (var *ch = new char[x]) 时,大小基本上存储在 ch[-1] 中,根据C++ 规范。 问题
能否请您提出解决 IE8 背景大小问题的最佳方法? 最佳答案 您可以引用background-size的“跨浏览器”解决方案。 据我所知,按照THIS TUTORIAL link即可实现,因为您没有代
我试图理解 gc,因为我在一个程序中有一个很大的列表,我需要删除它以释放一些急需的内存。我想回答的基本问题是我如何找到 gc 正在跟踪的内容以及已释放的内容?以下是说明我的问题的代码 import g
我们在 iOS 应用商店上有一个成功的应用程序内购买应用程序。每次购买完成时,我们都会将收据发送到我们的服务器,然后我们的服务器会使用 Apple 的服务器检查收据并记录苹果的响应(包括购买是否有效以
我正在尝试了解 Node 的内部工作原理,但我无法拼凑出用 js 编写的 Node 如何 Hook /绑定(bind)到用 C/C++ 编写的低级系统调用。 当我写这段代码时—— var http =
我的应用程序中有这个线程监视一组客户端套接字。我使用 select() 进行阻塞,直到客户端发出请求,这样我就可以在不增加线程的情况下高效地处理它。 现在,问题是,当我将新客户端添加到客户端列表时,我
我只做个简单的小例子,给大家一个思路,吼吼~~~~ 1使用工具 Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器 Ildasm.exe:用来将dll,e
我正在创建一个基于 NSDocument 的应用程序,其中包含文档选项卡。我发现它并不是为此而设计的。 Apple 设计的架构允许单个文档使用多个窗口,但反之则不然。我基本上可以正常工作,但我开始遇到
我有这段 C 代码,我想知道是否可能如何绕过此检查? int fd, password, input; fd = open("/dev/urandom", 0); read(fd, &password
我是一名优秀的程序员,十分优秀!