web前端安全

本文详细介绍了前端开发中的两大安全问题——XSS与CSRF漏洞。针对XSS漏洞,文章提出使用合适的编码方式及不信任任何用户输入的方法来预防;对于CSRF漏洞,则建议重新验证重要请求、检查Referer报头及使用唯一令牌的方式来加强安全防护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前端安全问题

(1)XSS漏洞(Cross-site Scripting:跨站攻击脚本)

a、web页面里插入恶意HTML代码,当用户浏览该页时,嵌入其中web里面的HTML代码会执行。

b、通过构造特殊数据,在用户浏览器上执行特定脚本,从而造‘成危害(如以用户身份发帖、转账等)。

c、利用用户对当前网站的信任来发起攻击。

d、由于页面内javascript几乎可以完成各种事情,因此一旦网站上有XSS漏洞,那些没有验证码等确认措施的操作不多都能不知情地完成,危害甚大。

解决方法:

1)在不同上下文中,使用合适的escape(对字符串进行编码)方式

2)不要相信任何来自用户的输入(不仅限于POS Body,还包括QueryString,甚至Headers)

(2)CSRF漏洞(Cross-site Request forgery:跨站请求伪造)

a、利用网站对用户的信任来发起攻击。

b、发生:所有需要登录页面中的交互、表单提交、Ajax。例如,登录一个图书网站,当它的安全机制很松懈时,,只要用户登录了网站后,只要没有关闭浏览器,在任何情况下都可以作为一个已通过身份证的用户来购书、借书操作(无需重新登录或者输入支付密码什么的,因为之前已经登录)。

c、CSRF攻击是源于WEB的隐式验证机制,WEB的身份验证机制虽然可以保证一个消息是源于用户的浏览器,但是无法保证该请求是用户批准发出的。

解决方法:

1)对于任何重要的请求都需要重新验证用户的身份。

2)检查报头中的referer参数确保请求发自正确的网站(但XHR请求可调用setRequestHeader方法来修改Referer报头)。

3)创建一个唯一的令牌(token),将其存在服务端的session中及客户端的cookie中,对任何请求都检查二者是否一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值