我一直在阅读关于JavaScript注入的asp.net mvc学习网站,这让人大开眼界。关于Javascript注入的问题
我甚至从未意识到/想过某人使用JavaScript来做一些奇怪的屁股注射攻击。
但它给我留下了一些没有答案的问题。
第一个
什么时候使用html.encode?只有当您要显示该用户或其他用户提交的信息时才使用它?
还是我用它来做任何事情。就像说我有用户提交的表单,这些信息将永远不会显示给任何用户,如果我仍然使用html.encode?
我该怎么做,因为我不知道如何把里面说和Html.TextBox()html.encode标记。
二
会发生什么事说,我有我的网站上丰富的HTML编辑器。用户被允许使用它并使事情变得更加大胆。现在我想通过标签向用户显示信息。我不能Html.Encode它,因为所有的大胆和东西不会呈现。
然而,我不能像它那样离开它,因为什么会阻止用户添加一些JavaScript攻击?
那么我该怎么办?使用正则表达式来过滤掉所有的标签?
三
还有,你可以使用一个叫做“AntiforgeryToken”的时候,你会使用这个彼此标签?
感谢
编辑
几乎所有人都表示,使用“白名单”和“黑名单”我怎么会写这个名单,并将其与传入值(在C#示例将是很好的)?
您可以使用白名单而不是黑名单(如本网站所示)。 – 2009-07-21 07:45:39
SO及其兄弟姐妹使用白名单:http://meta.stackexchange.com/questions/1777/what-html-tags-are-allowed – NickFitz 2009-07-21 08:59:10