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. 我们首先比较一 ...
随机推荐
- [elk]验证mapping字段数和数据字段数关系
验证一个mapping下字段缺少或者超过 结论: 没有什么不可以. 1.如果数据字段不在mapping里,则动态会更新mapping. 2.数据字段数也可以小于mapping里字段数 创建一个mapp ...
- IDEA使用技巧
1,导入原Eclipse Web项目 由于使用 PowerDesign连接MySql时只能用32位 Jdk,原Eclipse项目依赖于64位Jdk,导致在eclipse打不开工程,把工程导入IDEA后 ...
- IDEA开发工具的学习
1.设置jdk的版本 ,快捷键:ctrl + shirt +alt + s 打开项目的设置,选择Project 进行 jdk版本的设置. 2.鼠标移到项目上,右键,Show in Explorer 定 ...
- chrome浏览器多开的方法
Chrome浏览器在上网的过程中,会保存一些用户数据,如缓存.cookie.收藏的网页等信息. 这些信息的保存位置是可以设置的.方法也很简单: 桌面上复制一个Chrome的快捷方式,编辑属性,添加-- ...
- Navicat for MySQL下载安装和破解教程
1.进https://navicatformysql.en.softonic.com/官网 2.第二步 3.第三步等待下载完成 4.第四步双击 二,破解 1.链接:https://pan.baidu. ...
- spring boot 如何添加拦截
添加拦截其它挺简单的,直接上代码吧,我以简单的登陆验证拦截为例 1,先实现一个拦截器 package com.xinyue.interview.gm.filter; import javax.serv ...
- [批处理]守护NodeJS进程
背景: 日常进行CI过程中,使用NodeJs方式:GIT更新->检测是否需要编译->调用IncrediBuilder编译->读取编译日志判断是否通过->调用7z打包 问题: 持 ...
- 读取FTP 图片文件,并显示,非下载
关于FTP,先从怎么创建开始说起,很简单,步骤就两个 ① 电脑-右键管理--本地用户组--添加用户名,密码(用于FTP的用户名.密码) ② IIS 新建FTP站点,命名,指定端口号.FTP文件路径 接 ...
- 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 20165215
目录 基础问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 实践内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil ...
- php 当前日期加一天和指定日期加一天
1.给当前时间加一天?一小时? <?phpecho "今天:",date('Y-m-d H:i:s'),"<br>";echo "明 ...