面试题2
解决前端安全性问题
xss
定义:跨站脚本。计算机安全漏洞,允许恶意web用户将代码植入到提供给其他用户使用的页面中。
特点:能注入恶意的html/javascript 代码到用户浏览的网页上,从而达到cookie资料窃取、会话劫持、钓鱼欺骗等攻击。
示例:
原因:
浏览器本身就不安全能解析执行js等代码不会判断改数据和程序代码是否恶意。
输入输出没有做好安全防护。
xss灵活多变。
防范:
将重要的cookie标记为http only 这样的话Javascript中的document.cookie语句就不能获取的到cookie了。
表单数据规定值得类型比如年龄就只能是int name是字母数字组合。
过滤或转移特殊的html标签,例如
过滤javsript事件的标签,例如:“οnclick=” “onfocus”
CSRF
定义:跨站请求伪造。xss 利用站点内部的信任用户,csrf 通过伪造来自受信任用户的请求来利用受信任的网站。
防范:
- 通过referer、 token(令牌)
验证码来检测用户提交。劫持用户信息发来的请求没有服务器发给用户的令牌。referer在本页面发送过来的就有refer不是就没有。没有refer就是这个发送过来的是伪造的。 - 尽量不要在页面的链接中暴露用户隐私信息。
- 对于用户修改删除操作最好使用post操作
- 避免全站通用的cookie严格设置cookie的域。
圣杯布局、双飞翼布局
都是左右两边固定 中间自适应。
圣杯布局:
双飞翼布局: