跨站脚本攻击(xss):通过在目标网页中注入恶意的脚本代码使得用户在浏览网页时导致信息泄露、会话劫持等问题,常见于网页表单、用户提交的数据、URL参数等地方。
防护措施:
1)输入的处理与过滤:对于用户输入框数据进行过滤和文本转义,将特殊字符进行转义或删除。
2)输出编码:输出用户数据时,对数据进行编码处理,如使用encodeURIComponent()
方法对数据进行编码处理。
3)HttpOnly和Secure属性设置:在设置Cookie时,使用HttpOnly和Secure属性,限制Cookie只能通过HTTP请求访问,防止恶意脚本通过document.cookie获取到Cookie信息。
跨站请求伪造(CSRF):攻击者盗用用户了用户身份,以用户名义发送恶意请求,常见于用户被诱导点击了攻击者提供的链接或访问了恶意网站时,攻击者可以对用户已登录的网站发起请求,执行一些权限内的操作。
防护措施:
1)验证来源:服务器对每个请求进行来源验证,确保请求来自合法的域名,如同源检测和Referer检测。
2)使用随机令牌:在用户请求时生成随机令牌随同表单一起提交给服务器验证。
3)敏感操作进行二次验证:对于一些敏感操作,如修改密码、支付等,要求用户进行二次验证,例如输入密码、验证码等。