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)

web优化及web安全攻防学习总结的更多相关文章

  1. [Web安全] XXE漏洞攻防学习(中)

    0x00.XXE漏洞攻击实例 攻击思路: 1. 引用外部实体远程文件读取 2. Blind XXE 3. Dos 0x01.外部实体引用,有回显 实验操作平台:bWAPP平台上的XXE题目 题目: 进 ...

  2. 利用Gulp优化部署Web项目[长文慎入]

    Gulp Gulp是一款项目自动化的构建工具,与Grunt一样可以通过创建任务(Task)来帮助我们自动完成一些工作流的内容.当然,今天我们的内容并不是讨论这二者的区别,仅仅是介绍介绍如何利用Gulp ...

  3. 用RequireJS优化Wijmo Web页面

    用RequireJS优化Wijmo Web页面 上周Wijmo 2014 V2版本刚刚发布(下载地址),  有网友下载后发现仅仅使用了40个Widgets的一小部分,还需要加载全部的jquery.wi ...

  4. 01、NetCore2.0优化之Web服务器 与 IIS解耦

    01.NetCore2.0优化之Web服务器 与 IIS解耦 在Asp.Net Core 2.0中,是如何实现跨平台的?不使用IIS了,在linux上的WebServer是什么? ---------- ...

  5. 【web渗透技术】渗透攻防Web篇-SQL注入攻击初级

    [web渗透技术]渗透攻防Web篇-SQL注入攻击初级 前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的S ...

  6. 分享一个基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具

    soar-web 基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加.修改.复制,多配置切换,配置的导出.导入与导入功能. 环境需求 python3.xF ...

  7. 转:Web优化 及常用工具包

    Web优化: 减少http请求 避免404错误 在html页面header加入缓存标签 Gzip压缩网页 减少cookie体积 使用外部的js和css 消减js和css 压缩js 使用css spri ...

  8. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component

    amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...

  9. web API .net - .net core 对比学习-文件目录概述

    个人正在学习.net web Api的相关知识,因此用这一系列博客做一记录. 1. 首先我们分别创建 .net web api 项目和 .net core web api 项目. 2. 我们首先比较一 ...

随机推荐

  1. [py]资源搜集

    python在线内存图 我会把一些好的py book的资源放到这里 来源: https://piaosanlang.gitbooks.io/spiders/10day/README10.html Le ...

  2. SQL Server脚本

    -- 清楚缓冲区 DBCC DROPCLEANBUFFERS -- 删除计划高速缓存中的元素 DBCC FREEPROCCACHE -- 执行时间 SET STATISTICS TIME ON -- ...

  3. C# 按不同的字节编码,通过字节数去截取字符串

    /// <summary> /// 按不同的字节编码,通过字节数去截取字符串 /// 数据库UTF-8 1个数字.字母.英文符号算1个长度 1个中文.中文符号算3个长度 /// </ ...

  4. CarbonData-2:core

    package Core是carbondata的核心代码. 照例,先看Test类.CarbonPropertiesValidationTest

  5. Python练习:爬取图片

    贴吧地址 https://tieba.baidu.com/p/5272413637?red_tag=0606091703 程序如下import urllib.requestimport re def ...

  6. JGit 切换分支

    //gitDir是git仓库的根目录,这个仓库必须是已clone好了 File file = new File(gitDir); Git git = Git.open(file); //切换分支, i ...

  7. 用mongols轻松打造websocket应用

    用websocket做聊天系统是非常合适的. mongols是一个运行于linux系统之上的开源c++库,可轻松开启一个websocket服务器. 首先,build一个websocket服务器. #i ...

  8. 使用Redux DevTools浏览器插件调试redux

    与redux的Devtools模块不同,该工具主要依赖浏览器插件完成.模式也比Devtools简单点. step1 下载插件 Chrome地址(360极速模式也可以用): https://chrome ...

  9. 【JavaScript】JS知识点复习

    1.引入的两种方式:直接在标签里行内js,在body最下端引入. 2.变量的5种类型:number,string,boolean,null,undefined以及一种特殊类型:object 3.变量命 ...

  10. 大数据处理框架之Strom:DRPC

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 storm-0.9 一.DRPC DRPC:Distri ...