自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 CSRF跨站请求伪造

CSRF :打开同一浏览器时其他网站对本网站造成的影响,原理就是攻击者构造出一个后端请求地址,诱导用户点击或通过某些途径自动发起请求。如果用户在登录状态的话,后端就会以为是用户再进行操作,从而进行相应的逻辑。CSRF防御:get请求不对数据进行修改不让第三方访问到用户的cookie阻止第三方网站请求接口请求时携带验证信息,比如验证码或者token可以对cookie设置same-set属性。该属性表示,cookie不随着跨域请求发送,可以很大程度上减少CSRF的攻击。...

2020-10-12 18:30:06 106

原创 XSS跨站脚本攻击

XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,使别的用户访问都会执行响应的代码。从而盗取用户资料,利用用户身份进行某种动作或者对访问者进行病毒侵害的一种方式。XSS的攻击危害包括:获取页面数据获取cookie劫持前端逻辑发送请求偷取网站任意数据偷取用户资料偷取用户密码和登录状态欺骗用户XSS攻击分类反射型通过url参数直接注入。发出请求时,XSS代码出现在url中,作为输入提交到服务器端,服务器解析后返回,

2020-10-12 09:38:43 124

转载 web安全

安全性主要分为两大块:私密性:不被非法获取和利用。可靠性:不丢失、不损坏、不被篡改。攻击类型XSS跨站脚本攻击CSRF跨站请求伪造SQL注入点击劫持中间人攻击核心基本概念攻击原理预防措施安全问题用户身份被盗用用户密码泄露用户资料被盗取网站数据库泄密同源策略及规避方法同源要求:协议相同域名相同端口号相同限制范围:cookie、localstorage和indexDB无法获取DOM无法获得Ajax请求无法发送点击劫持点击劫持是一种视觉欺

2020-10-12 08:41:08 104

原创 axios学习笔记

一、axios框架的基本使用安装在终端: npm install axios --savemain.js中引用import axios from 'axios'axios({ url: 'https://httpbin.org/headers' // method: 'get' / 'post' 设置请求方式,不设置的时候默认为get //如果是用get请求又不想将url拼接的太长的话(get请求时直接拼接在url中的),可以使用params如下方式写,框架内部会自动

2020-10-07 00:11:46 109

原创 从浏览器输入url到页面展示都经历了那些过程

一、url输入当我们在浏览器中输入网址的时候,浏览器已经开始在智能的匹配的可能的url了。他会在历史记录、收藏书签等网址中匹配可能是输入字符串所对应的的url,然后给出智能提示,用来补全url。对于谷歌浏览器,他甚至可以在缓存中将页面直接显示出来。二、DNS解析DNS:域名系统。实现了网址到ip地址的转换。什么是DNS:DNS是因特网上作为域名和ip地址相互映射的分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器读取的ip地址。三、TCP链接tcp三次握手四、发送http请求

2020-10-06 11:50:59 418

原创 JavaScrip学习整理 -- 概念原理篇

1.什么是 事件代理(事件委托)?事件代理/事件委托,是利用事件冒泡的特性,将本该绑定在多个元素上的事件绑定在他的父祖先元素上,尤其在动态添加子元素的时候,可以非常方便的提高程序性能,减小内存空间。事件委托具体实现例子:2.事件冒泡、事件捕获事件冒泡:2020年9月18日16:44:41 按照从最特定的事件目标到最不特定的事件目标顺序触发。(子 -> 父)事件捕获:事件从最不精确的对象(document对象)开始触发,直至最精确的节点。(父 -> 子)一个对象的一个事件类型上的函数

2020-09-24 09:25:53 296

原创 HTML+CSS面试题整理

HTML1.HTML标签语义化1.标签语义化更利于用户阅读,即使在没有css的前提下,页面也是有结构的。2.利于开发和维护,语义化的标签更具有可读性,便于其他设备解析。3.利于SEO,搜索引擎的优化,搜索引擎根据标签来确定上下文和各个关键字的权重。例如:<header>代表头部<nav> 代表超连接区域<main>定义文档主要内容<article>代表博客、文章等内容<aside>通常表示侧边栏或嵌入内容<footer

2020-09-13 18:10:12 373

原创 JS笔记之--Javascript的取整、取商、取模、取余

js的取整(取商)parseInt(6/4) --> 1 (取商)//向上取整Math.ceil(1.1) --> 2 //向下取整Math.floor(1.9) --> 1//四舍五入取整Math.round(1.4) --> 1Math.round(1.5) --> 2js的取模(取余数)6%4 --> 2(取余数) parseInt(6%4) --> 2 (取余数)小练习,用取模运算确定奇

2020-09-12 09:43:04 4107 1

原创 JS笔记之--reduce & map

mapmap是什么:map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。const array1 = [1, 4, 9, 16];const map1 = array1.map(x => x * 2);console.log(map1);// expected output: Array [2, 8, 18, 32]map怎么使用:由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数

2020-09-12 09:13:24 77

原创 字符编码(ASCII、Unicode)

ASCII 码上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。ASCII 码一共规定了128个字符的编码。0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母(A是65),97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。这128个符号(包括32个不能打印出来的控

2020-09-11 09:30:15 284

转载 正则表达式

基本符号:^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)$ 表示匹配字符串的结束位置* 表示匹配 零次到多次+ 表示匹配 一次到多次 (至少有一次)? 表示匹配零次或一次.表示匹配单个字符| 表示为或者,两项中取一项( ) 小括号表示匹配括号中全部字符[ ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]{ } 大括号用于限定匹配次数 如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符

2020-09-11 08:16:51 95

原创 MongoDB之初识(一)

MongoDB是什么MongoDB的基本概念数据库分为:关系型数据库 和 非关系型数据库。关系型数据库中全都是表,非关系型数据库则是键值对的数据库。常见的关系型数据库和非关系型数据库:下表列出了 MongoDB的基本数据结构以及与 MySQL 的对比。在这其中有三个重要概念:文档集合容器(数据库)它们之间是逐层包含的关系,一个集合可以包含多个文档,一个容器内可以有多个集合。下面是举例理解:文档 : 文档是一个键值(key-value)对(即BSON),本质类

2020-07-30 10:00:43 193

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除