web优化及web安全攻防学习总结
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)
web优化及web安全攻防学习总结的更多相关文章
- [Web安全] XXE漏洞攻防学习(中)
0x00.XXE漏洞攻击实例 攻击思路: 1. 引用外部实体远程文件读取 2. Blind XXE 3. Dos 0x01.外部实体引用,有回显 实验操作平台:bWAPP平台上的XXE题目 题目: 进 ...
- 利用Gulp优化部署Web项目[长文慎入]
Gulp Gulp是一款项目自动化的构建工具,与Grunt一样可以通过创建任务(Task)来帮助我们自动完成一些工作流的内容.当然,今天我们的内容并不是讨论这二者的区别,仅仅是介绍介绍如何利用Gulp ...
- 用RequireJS优化Wijmo Web页面
用RequireJS优化Wijmo Web页面 上周Wijmo 2014 V2版本刚刚发布(下载地址), 有网友下载后发现仅仅使用了40个Widgets的一小部分,还需要加载全部的jquery.wi ...
- 01、NetCore2.0优化之Web服务器 与 IIS解耦
01.NetCore2.0优化之Web服务器 与 IIS解耦 在Asp.Net Core 2.0中,是如何实现跨平台的?不使用IIS了,在linux上的WebServer是什么? ---------- ...
- 【web渗透技术】渗透攻防Web篇-SQL注入攻击初级
[web渗透技术]渗透攻防Web篇-SQL注入攻击初级 前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的S ...
- 分享一个基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具
soar-web 基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加.修改.复制,多配置切换,配置的导出.导入与导入功能. 环境需求 python3.xF ...
- 转:Web优化 及常用工具包
Web优化: 减少http请求 避免404错误 在html页面header加入缓存标签 Gzip压缩网页 减少cookie体积 使用外部的js和css 消减js和css 压缩js 使用css spri ...
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
- web API .net - .net core 对比学习-文件目录概述
个人正在学习.net web Api的相关知识,因此用这一系列博客做一记录. 1. 首先我们分别创建 .net web api 项目和 .net core web api 项目. 2. 我们首先比较一 ...
随机推荐
- .Net新利器Rider的破解安装与使用
准备 介绍 Rider 是 JetBrains 提供的一款用于 .Net 开发的 IDE,相对于 VS,它显得更加轻量(才 500m 左右),并且不管是提示功能还是流畅度都不逊色于 VS 且某方面可能 ...
- 1、Linux的安装及基本配置
1.安装 2.登录后开启root用户 https://www.cnblogs.com/suhfj-825/p/8611436.html https://www.cnblogs.com/suhfj-82 ...
- ESP8266 RTOS SDK编译环境搭建
前提条件 1. linux操作系统或者windows下的linux虚拟机或者OS X操作系统 2. 联网 下载 * [Mac](https://dl.espressif.com/dl/xtensa-l ...
- CF822C Hacker, pack your bags!(思维)
Hacker, pack your bags [题目链接]Hacker, pack your bags &题意: 有n条线段(n<=2e5) 每条线段有左端点li,右端点ri,价值cos ...
- 配置php环境的一个nginx.conf
文件:nginx.conf 内容: #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/err ...
- 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP
如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...
- ASP.NET页面之间传值的方式之Server.Transfer(个人整理)
Server.Transfer 这个方法相比以前介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写 ...
- platform怎么实现数据数据和驱动分离
一些重要的结构体: struct platform_device { const char * name; int id; struct device dev; u32 num_resources; ...
- Mysql复制一个数据库到另一个数据库
mysqldump -u root -p source_db > /home/db_bak.sql #导出数据库 123456 #输入数据库密码 扩展: mysqldump -u root -p ...
- CCF CSP 201712-1 最小差值
题目链接:http://118.190.20.162/view.page?gpid=T68 问题描述 试题编号: 201712-1 试题名称: 最小差值 时间限制: 1.0s 内存限制: 256.0M ...