玖叶教程网

前端编程开发入门

2022年前端React的100道面试题的第4题:JSX安全性

问题

JSX 是否默认支持防止注入攻击(XSS)?

选项

A 是

B 否

答案

A

解答

根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)。 —— 百度百科

React DOM 在渲染所有输入内容之前,默认会进行转义,主要是针对以下字符:

& becomes & amp;
< becomes & lt;
> becomes & gt;

当我们使用纯HTML进行开发时,如果对用户输入内容在前后端都会做任何转移,那么就会有XSS的风险。例如在录入控件中输入下面的代码(你可以打开百度首页,然后在控制台尝试 setInterval(alert, 1),当然完全能想象会是怎样的场景):

<script>setInterval(alert, 1)</script>

当然,注入攻击主要还是获取敏感信息,或者涉及网站安全的内容。

参考

JSX 防止注入攻击

Which characters need to be escaped in HTML?

WHEN ESCAPES CAN BE USEFUL

XSS攻击

来源


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言