高并发Web网站构建和安全防护.PPTVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

高并发Web网站构建和安全防护

——Hansionxu(徐汉彬)

自我介绍Hansionxu(徐汉彬)腾讯高级工程师(SNG增值产品部)QQ会员AMS运营平台技术负责人技术博客:

内容目录

高并发的由来页面元素越来越多,例如:和浏览器并发连接数

混合CGI和Ajaxhtml和CGI代码解耦,以及更复杂的通信场景

高并发的由来更复杂的浏览器和服务端的交互通信场景WebSocket

一次HTTP通信一次HTTP请求的通信成本HTTP的短连接和长连接

长连接带来的问题长连接:保持连接与复用,HTTP1.1默认开启

基于Apache的Web服务演变史经典Web服务架构之一:LAMP

Apache的Prefork模式多进程(一个子进程提供服务)成熟稳定,允许线程不安全进程比较重,消耗太多内存,生成的服务进程数有限Keep-alive

Apache的Worker模式多进程和多线程混合模式线程为主(一个线程提供服务)线程占据内存少,更轻量,生成更多服务线程数需要支持线程安全,线程崩溃问题Keep-alive

Apache的Event模式同Worker模式解决Keep-alive的资源浪费问题使用条件:Apache2.4.10+Epoll支持(Linux2.6)

Select/poll大部分空闲导致的资源浪费例子:快递员收件,100间宿舍

Epoll事件驱动,大部分空闲时,更节省资源绝大部分都繁忙时,反而更耗资源

Nginx的Web服务LNMP:Linux+Nginx+PHP+MYSQLNginx用途:PHP/FastCGI反向代理……

Nginx的处理模式天然比Apache轻量(2004年10月)不需要维持很多的线程或者进程静态文件(css/js/html/图片),3倍于ApachePHP服务,略弱于Apache

静态文件:CDN服务CDN:ContentDeliveryNetwork,即内容分发网络

比较推荐的Web服务架构

Web服务的QPS的计算QPS,QueryPerSecond,每秒处理请求数例如:平均200ms处理一个请求,100个服务进程/线程,10台Apache服务器10*(100/0.2)=5000QPS(理想状态)

高并发下的QPS的真实情况CPU繁忙,维持更多的服务进程/线程和连接内存爆满,可能引起swap后端其他服务异常10*(100/1)=1000QPS

高并发下的保护措施设置合理的进程/线程数(防止过载)设置合理的超时时间(各个环节)如果发生Web服务全面“雪崩”不要直接重启,先切流量

Web服务安全防护几种基础的安全类型:XSS,CrossSiteScripting,跨站脚本攻击CSRF,Cross-siterequestforgery,跨站请求伪造SQL注入Shell注入

XSS基础防御方法达成条件:回显,用户的输入,你无条件输出解决方案:过滤用户输入过滤页面输出

CSRF防御方法达成条件:引诱用户点击“特殊连接”/del.php?id=10,表示删除文章的页面里,放了这个“连接”解决方案:CGI执行之前判断HTTP_REFERERAjax根据cookie计算g_token

SQL注入防御方法:不信任一切用户输入和前端传参

Shell注入防御方法:参数过滤禁用执行shell命令的函数

高并发下的业务安全同一个用户并发发送多个请求

高并发下的业务安全多个用户同时修改一个存储数据

高并发下的业务安全队列思路悲观锁思路,加锁乐观锁思路,带版本号更新

Redis的乐观锁实现Redis:开源的NoSQL存储(可做内存缓存)

附录Web系统搭建——单机到分布式集群前端缓存基础知识

文档评论(0)

192****4212 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档