我正在建立一个可以添加新闻评论的网站。 而且我不确定如何阻止用户发布以下评论:
<script>
jQuery(document).ready(function() {
alert("Tes");
});
</script>
对于构建网站,我使用的是MVC3。
我的问题是: 在这种情况下可能存在哪种线程? 插入这样的评论的所有可能性是什么?
答案 0 :(得分:0)
防止这种情况的最佳方法是对屏幕上显示的输出进行HTML编码。这将阻止显示或执行任何标记或脚本,并且是防止跨站点脚本攻击的基础。
允许通过用户注释将脚本或标记注入到页面中的主要威胁是跨站点脚本。跨站脚本攻击通常会在页面中添加额外的标记。此标记通常会将用户的cookie(例如会话ID)传递给攻击者服务器。此时,攻击者可以使用会话ID来劫持用户会话。
使用跨站点脚本编写的另一个攻击是在客户端上安装键盘记录程序,将用户输入的文本传递给恶意服务器,允许攻击者获取用户凭据等信息。
答案 1 :(得分:0)
将更多信息投入到混音中。
XSS攻击预防是要搜索的术语。
在您使用
之类的行“保存”之前,您可以手动搜索并删除所有违规者例如
bloginput = bloginput.replace(/<script/g, '');
!您也可以在服务器上执行此操作。
我喜欢的实用工具是 - https://github.com/chriso/validator.js
它的顶部和底部是,将您的博客条目视为“字符串”,并在允许保存到数据库或访问更深层次的服务器代码之前删除构成威胁的条目。