web优化
前端:(高性能网站建设进阶指南)
- 使用gzip压缩(节省服务器的 网络带宽)
- 减少http请求( 减少DNS请求所耗费的时间、 减少服务器压力、 减少http请求头)
- 使用cdn(用户可以从cdn最近节点获取资源,加快网站浏览速度)
- 添加expires头(通过这种方式,可以实现直接从浏览器缓存中读取,而不需要去服务端判断是否已经缓存)
- 使用外部的javascript和css(缓存文件)
- 把css放在顶部(能够优先渲染页面,让用户感觉页面加载很快)
- 把js放在底部(js是单个加载,可能会对后续资源造成阻塞)
后端:
- 使用Nginx做转发(负载均衡)
- redis做缓存(减少对数据库的重复读写操作次数,减少服务器的压力)
- 平时写代码注意(使用echo代替print。单引号和双引号。尽量使用系统自带得原生函数)
- 服务器配置优化
- 字段加密及压缩(防止攻击)
数据库:
- sql优化(加索引、用left join代替where联表)
- 主从分库、读写分离(保证数据得完整性、用来应对访问量增加,带来频繁得读写导致数据库得访问和操作性能下降得问题)
web安全攻防
sql注入:
- 原理(SELECT * from users where id =1 or 1=1)
- 使用转义字符串mysql_real_escape_string()过滤数据
- 使用mysqli得预处理
- 使用pdo
XSS攻击:
- 使用PHP的htmlentities()函数过滤
跨站点请求伪造(CSRF)
- 原理:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
- 在用户请求的页面中的所有表单中嵌入一个token,在服务端验证这个token的技术
- 对用户会话才用适当得安全措施(给每一个会话更新id)