一、常见的WEB安全性问题
- 关闭Web站点,拒绝正常服务;
- 篡改Web网页,损害企业名誉;
- 免费浏览收费内容;
- 盗窃用户信息;
- 以用户身份登录执行非法操作,从而获取暴利;
- 以此为跳板攻击企业内网其他系统;
- 网页挂木马,攻击访问网页的特定用户群;
举例如下,搜索结果和预期结果偏差较大,存在的该安全性问题,称之为黑帽SEO
SEO黑帽就是指那些游走于搜索引擎算法漏洞的人,利用黑客技术及一些搜索引擎边缘算法漏洞来实现快速地获取流量或排名的方法。黑帽SEO能够快速带来一定的排名和用户量,但所面临的往往是被K的结果,一旦被K后恢复期至少需要半年时间,二是对于品牌来说也不是一个好的结果。
黑帽SEO包括很多很多手法,技术含量也要求很高。比如:流量劫持、快照劫持、泛域名、泛ip、变种ip、目录链轮、新闻源劫持、寄生虫程序、get程序、无限页面链轮等等,而且技术会层出不穷,捉摸不透。但随时会因为搜索引擎算法的改变而面临惩罚。
1、XSS攻击
XSS全称为Cross Site Scripting,跨站脚本攻击
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
XSS根据攻击方式可以进行分类:
- 反射型(非持久型)XSS
- 存储型(持久型)XSS
- DOM-Basedx型 XSS
(1)反射型攻击
诱导用户点击了一些带有恶意脚本参数的URL,而服务器直接使用了恶意脚本并返回了结果页,从而导致恶意代码在浏览器执行
点击了带有恶意脚本的url时,导致恶意代码在本地执行
(2)存储型XSS
将恶意代码上传或存储到了漏洞服务器上,用户访问页面时,页面中包含里恶意脚本,恶意脚本执行,窃取用户信息。
(3)DOM-Basedx型 XSS
由于客户端 JavaScript 脚本修改页面 DOM 结构时(修改文本、重绘、重排)引起浏览器 DOM 解析所造成的一种漏洞攻击
XSS攻击的防范措施:
- 输入检查,最对用户的所用输入均进行检查,包括表单与url
- 判断输入格式,只允许通过特定格式的字符。
- 收到数据时过滤危险字符
- 过滤与转义需前端与服务端配合使用
- 给cookie设置httpOnly,设置 Cookie 的 httpOnly 属性时,会致使客户端脚本(即JavaScript)无法访问cookie的信息
2、CSRF攻击
Cross-site request forgery全名,跨站请求伪造,攻击者盗用了你的身份,以你的名义发送恶意请求,CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全,请求来源于其他网站,请求并不是用户的意愿,
而是伪造的请求,诱导用户发起的请求。
CSRF一般采用服务器端防御,防御思想主要是在客户端添加随机数值,到服务器端进行验证
- 在提交表单表单元素中添加hash验证。
- 填写验证方式,例如phpcms中的处理。
- 服务器端核对令牌。
二、WEB性能问题
性能问题主要从前端角度来进行介绍,性能优化可以从以下几个角度入手
- 加快静态文件下载速度
- 减少静态文件的文件大小
- 减少静态文件发起请求数量
1、CSS Sprite技术
一般翻译为CSS精灵或CSS雪碧图
将页面中零散的背景图合并为一张大图,再利用background-position进行背景的定位,减少页面http请求次数,加快加载速度。雪碧图在互联网应用中应用十分广泛。
background-position样式值可以为关键字、百分比、像素值,确定图片在坐标系中的位置,详细用法回顾WEB一中内容。
制作sprite图的方式:
- 借助在线工具制作
- PS制作
- 借助前端编译工具,例如webpack,grunt等实现
2、代码压缩
在生产环境中,通常需要将资源进行压缩,以提升传输效率,常见的压缩方式
- 借助于在线的压缩工具进行的压缩
- 开启服务器的gzip
- 借助于编译工具进行压缩,例如webpack , grunt等