Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发布包含javascript的评论_Javascript_Jquery_Html_Asp.net Mvc 3 - Fatal编程技术网

发布包含javascript的评论

发布包含javascript的评论,javascript,jquery,html,asp.net-mvc-3,Javascript,Jquery,Html,Asp.net Mvc 3,我正在建立一个网站,将有可能添加新闻评论。 我不知道如何防止用户发表评论,如: <script> jQuery(document).ready(function() { alert("Tes"); }); </script> jQuery(文档).ready(函数(){ 警报(“Tes”); }); 对于建立网站,我使用MVC3 我的问题是: 在这种情况下可能存在什么类型的线程? 插入这样的注释有哪些可能性?防止这种情况的最好方法是对屏幕上

我正在建立一个网站,将有可能添加新闻评论。 我不知道如何防止用户发表评论,如:

<script>
 jQuery(document).ready(function() {
        alert("Tes");
    });
</script>

jQuery(文档).ready(函数(){
警报(“Tes”);
});
对于建立网站,我使用MVC3

我的问题是: 在这种情况下可能存在什么类型的线程?
插入这样的注释有哪些可能性?

防止这种情况的最好方法是对屏幕上显示的输出进行HTML编码。这将防止显示或执行任何标记或脚本,是防止跨站点脚本攻击的基础

允许通过用户评论将脚本或标记注入页面的主要威胁是跨站点脚本。跨站点脚本攻击通常会向页面中注入额外的标记。此标记通常会将用户的cookie(如会话id)传递给攻击者服务器。此时,攻击者可以使用会话id劫持用户会话


跨站点脚本的另一种攻击是在客户端安装键盘记录器,将用户输入的文本传递到恶意服务器,从而允许攻击者获取用户凭据等信息。

向混合中添加更多信息

XSS攻击预防是搜索的术语

您可以手动搜索并删除所有违规者,然后使用以下行“保存”——

例如


bloginput=bloginput.replace(/I更感兴趣的是“插入这样的评论的所有可能性是什么?”你所说的可能性是什么意思?谢谢,但是第二个问题呢?我的意思是,如果有任何可能性,有什么窍门吗?非常感谢你的回答我将搜索“跨站点脚本”听起来很有趣…asp.net mvc应该自动为您对内容进行html编码,除非您使用
@html.Raw()
。如果你想允许一些html,但不是全部,这是一个复杂得多的主题。这是100%安全吗?我认为你不能称任何东西为100%安全。但据我所知,mvc框架正确地编码html输出。是的,我知道,但我不知道所有实现这一点的可能性。这是我在问的。首先,我想找到最好的possibilities,然后对mvc进行测试。如果您想了解避免xss筛选器的所有方法,这是一个很好的列表:这不是100%可靠的。我见过一些漏洞,攻击者在脚本标记中放置一些字符,阻止它匹配正则表达式,但浏览器会忽略这些字符(因此脚本会被执行)当然,Jason,我只是想展示一下基本的想法,希望我指出,任何字符串清理/规则都需要在服务器端代码中设置。应该说“这本身不是100%可靠的。”尝试提前清理一些垃圾肯定没有错。
  bloginput = bloginput.replace(/<script/g, '');