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

问题

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

选项

A 是

B 否

答案

A

解答

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

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

& becomes &
< 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攻击

来源

《考试竞技》微信小程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值