防止Javascript和XSS攻击

前端之家收集整理的这篇文章主要介绍了防止Javascript和XSS攻击前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是xss-proofing我的网站 javascript和xss攻击.它是用ASP.NET Webforms编写的.

我想测试的主要部分是一个用户控件,它有一个文本框(附加了tinyMCE).

用户可以通过在此文本框中书写来向网站提交故事.我不得不将validateRequest设置为false,因为我想在HMTL(tinyMCE)中获取用户的故事.

我该如何防止javascript-xss攻击?由于用户的故事是HMTL文本,我不能在他们的故事中使用Server.HtmlEncode.一般来说,从用户接收HTML内容,保存然后将其显示用户的安全方法是什么?

如果一个用户将恶意代码放入文本框并提交,那么是否有可能会损害其他查看该文本的人?
谢谢.

解决方法

如果你不清理用户放在文本框中的内容并提交,那么是的,有可能造成伤害.

您可能想要查看Microsoft Anti-Cross Site Scripting Library,因为它旨在帮助开发人员防止此类攻击.

另外值得一看的是OWASP的Cross-site Scripting (XSS)

您可能还想查看HttpUtility.HtmlEncode和HttpUtility.HtmlDecode.我刚刚编写了一个快速测试,看起来它可能会在下面的评论解决您的问题(关于如何以正确的格式向其他用户显示数据):

string htmlString = "<b>This is a test string</b><script>alert(\"alert!\")</script> and some other text with markup <ol><li>1234235</li></ol>";

string encodedString = HttpUtility.HtmlEncode(htmlString);
// result = &lt;b&gt;This is a test string&lt;/b&gt;&lt;script&gt;alert(&quot;alert!&quot;)&lt;/script&gt; and some other text with markup &lt;ol&gt;&lt;li&gt;1234235&lt;/li&gt;&lt;/ol&gt;

string decodedString = HttpUtility.HtmlDecode(encodedString);
// result = <b>This is a test string</b><script>alert("alert!")</script> and some other text with markup <ol><li>1234235</li></ol>

ASP.NET控件和HTMLEncode
我打算发布我班上的信息,但是我找到了一个列出完全相同的链接(1.1和2.0),所以我会发布链接以便于参考.您可以通过查看MSDN获得有关未列出的特定控件(或3.0 / 3.5 / 4.0版本,如果它们已更改)的更多信息,但这至少应该作为快速入门指南.如果您需要更多信息,请告诉我,我会看到我能找到的信息.

ASP.NET Controls Default HTML Encoding

以下是来自MSDN博客之一的更全面的列表:Which ASP.NET Controls Automatically Encodes?

原文链接:https://www.f2er.com/js/240845.html

猜你在找的JavaScript相关文章