首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法“停止脚本”使用JavaScript运行?

有没有办法“停止脚本”使用JavaScript运行?
EN

Stack Overflow用户
提问于 2012-06-07 06:44:17
回答 4查看 1.8K关注 0票数 1

如何在JavaScript?中阻止脚本的执行?在跨站点脚本(XSS)攻击的情况下,基本要求是注入+脚本的执行.

假设攻击者能够在页面中注入JavaScript &我们的目标是阻止攻击者脚本的执行。作为一个例子,注入点可以是任何用户提供的输入区域.

EN

回答 4

Stack Overflow用户

发布于 2012-06-07 06:48:41

总是逃避你的输入。对于XSS,可以使用htmlentities()来转义HTML和JS。这里有一篇关于PHP安全性的好文章

http://www.phpfreaks.com/tutorial/php-security

票数 0
EN

Stack Overflow用户

发布于 2012-06-07 07:02:05

在处理XSS时,基本上需要注意两件事:

  1. 逃离你的输出。转义输入只会占用更多的资源。转义用户提交的内容输出。这也意味着非转义内容在数据库中,这是一件好事(如果出现假阳性,您可以在不丢失内容的情况下修复它,如果使用新的XSS策略,则不需要修改所有数据库,等等)。
  2. 保护您的javascript代码。要非常小心,不要包含使用eval()或类似的缺陷。
票数 0
EN

Stack Overflow用户

发布于 2012-06-07 08:15:08

正如其他人所说的,保护自己不受XSS影响的最好和最简单的方法是根据插入点验证输入和正确转义输出(很可能是使用实体或JavaScript / CSS块--不太可能,也更难正确转义)。

但是,如果您的用例输出的原始用户输入应该包含任意的HTML,并且您只想防止注入的JavaScript扰乱您的站点,那么您可以:

1)将内容设置在不同的唯一域中(因此它不能与您的主文档共享cookie),例如xyz123.usercontent.com (对于任何用户xyz123不同) 2)等待和/或CSP的沙箱指令在您支持的每个浏览器中标准化(当然,拒绝访问无法访问的浏览器)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10926891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档