如何在开发阶段预防跨站脚本攻击?

参与15

4同行回答

whitesonnywhitesonny安全工程师光大
1.首先应该把精力放到对所有用户提交内容进行可靠的输入验证上。这些提交内容包括URL、查询关键字、http头、post数据等。只接受在所规定长度范围内、采用适当格式、所希望的字符。阻塞、过滤或者忽略其它的 任何东西。2.保护所有敏感的功能,以防被bots自动化或者被第三方...显示全部

1.首先应该把精力放到对所有用户提交内容进行可靠的输入验证上。这些提交内容包括URL、查询关键字、http头、post数据等。只接受在所规定长度范围内、采用适当格式、所希望的字符。阻塞、过滤或者忽略其它的 任何东西。

2.保护所有敏感的功能,以防被bots自动化或者被第三方网站所执行。实现session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查。

3.web应用必须支持用户提供的HTML,那么应用的安全性将受到灾难性的下滑。但是你还是可以做一些事来保护web站点:确认你接收的HTML内容被妥善地格式化,仅包含最小化的、安全的tag(绝对没有JavaScript),去掉任何对远程内容的引用(尤其是样式表和JavaScript)。为了更多的安全,请使用httpOnly的cookie。

收起
银行 · 2016-05-18
浏览2335
zhangjian85zhangjian85技术经理泰康
以下几点供参考:1, 在HTML/XML中显示“用户可控数据”前,应该进行html escape转义。2,在javascript内容中输出的“用户可控数据”,需要做javascript escape转义。3,对输出到富文本中的“用户可控数据”,做富文本安全过滤(允许用户输出HTML的情况)。 4,输出在url中的数据,做url安全输...显示全部

以下几点供参考:

1, 在HTML/XML中显示“用户可控数据”前,应该进行html escape转义。

2,在javascript内容中输出的“用户可控数据”,需要做javascript escape转义。

3,对输出到富文本中的“用户可控数据”,做富文本安全过滤(允许用户输出HTML的情况)。

4,输出在url中的数据,做url安全输出。

5,在给用户设置认证COOKIE时,加入HTTPONLY

6,在style内容中输出的“用户可控数据”,需要做CSS escape转义。

收起
保险 · 2016-05-18
浏览2311
dengtingxundengtingxun安全工程师银河证券
建议程序中对于一些特殊符号和关键字进行阻塞和过滤。显示全部

建议程序中对于一些特殊符号和关键字进行阻塞和过滤。

收起
证券 · 2016-05-18
浏览2070
zhangjian85zhangjian85技术经理泰康
1,制定开发安全编码规范(针对自己开发和外包)2,安全开发培训3,引入开发安全框架显示全部

1,制定开发安全编码规范(针对自己开发和外包)

2,安全开发培训

3,引入开发安全框架

收起
保险 · 2016-05-18
浏览2155

提问者

sunshinebao
系统运维工程师阳光保险
擅长领域: 服务器小型机存储

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2016-05-18
  • 关注会员:4 人
  • 问题浏览:7173
  • 最近回答:2016-05-18
  • X社区推广