- 博客(14)
- 收藏
- 关注
转载 前端登录安全
本文作者:哒哒哒打代码本文链接:https://juejin.cn/post/6859214952704999438在设计一个登录接口时,不仅仅是功能上的实现,在安全方面,我们还需要考虑哪些地方。暴力破解:通过各种方式获得了网站的用户名之后,通过编写程序来遍历所有可能的密码,直至找到正确的密码为止防范1. 验证码在它密码错误达到一定次数时,增加验证码校验!比如我们设置,当用户密码错误达到3次之后,则需要用户输入图片验证码才可以继续登录操作:这样确实可以过滤掉一些非法的攻击,但是以目前的OC
2021-09-26 10:05:20 862
转载 post请求中的Content-Type
在POST请求中的 Content-Type 常见的有以下3种形式:application/json 请求体中的数据会以json字符串的形式发送到后端(axios默认)application/x-www-form-urlencoded 请求体中的数据会以普通表单形式(键值对)发送到后端multipart/form-data 它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。后端接受application/x-www-form-urlencoded方
2021-09-17 14:28:37 834
转载 前端埋点与监控方案
本文作者:随风丶逆风本文链接:https://juejin.cn/post/6938075086737899534埋点,它的学名是事件追踪(Event Tracking),主要是针对特定用户行为或业务过程进行捕获、处理和发送的相关技术及实施过程。埋点是产品数据分析的基础,一般用于推荐系统的反馈、用户行为的监控和分析、新功能或者运营活动效果的统计分析等。埋点包含两个重要概念:事件(event),属性(param)事件(event):应用中发生了什么,例如用户操作、系统事件或系统错误。以你拍一产品为
2021-09-16 00:06:52 740
转载 CSS filter滤镜
关于本文https://segmentfault.com/a/1190000040058430作者:dragonirCSS filter 属性将模糊或颜色偏移等图形效果应用于元素形成滤镜,滤镜通常用于调整图像,背景和边框的渲染。它的值可以为 filter 函数 或使用 url 添加的svg滤镜。filter: <filter-function> [<filter-function>]* | nonefilter: url(file.svg#filter-element-i
2021-09-14 22:52:55 514
转载 常见网站攻击技术
原文链接https://mp.weixin.qq.com/s/rbtWyxFlz2ZE2XofNJXWCw作者:senntyou segmentfault.com/a/11900000180046571、SQL 注入SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句,以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等操作,达到其邪恶的目的。SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中提交到后端服务器,后端服务器如果未做输入安全校验,直接将变量取
2021-09-13 23:06:34 213
转载 Promise 和 async/await 的异常处理
//例子1function getList(){ return new Promise((rs,rj)=>{ rj('假装发生了错误') })}try{ getList();}catch(e){ alert('遇到了些许错误哦~')}打开控制台会发现,上面的例子将会抛出 Uncaught (in promise)异常。未捕获异常的原因 例子中的Promise异常未被正常捕获,是因为promise虽然出现在try…catch…中,但是并没
2021-09-12 21:41:39 1395
转载 vue-router路由hash和history切换
history模式:在路由index.js文件中导入 createWebHistoryimport { createRouter, createWebHistory } from 'vue-router'import Home from '../views/Home.vue' const routes = [ { path: '/', name: 'Home', component: Home }, { path: '/about', name:
2021-09-10 14:20:20 724
原创 input读取文件并转为base64
<template> <input type="file" ref="inputRefs" style="display:none" id="#input" accept="image/*" @change="onFileChange" /></template><script>/*readAsDataURL 方法会读取指定的 Blob 或 File 对象。读取操作完成的时候,readyState 会变成已完成DONE,并触发 loadend (e
2021-08-09 21:29:07 540
原创 移动H5遇到的相关问题
记录一下遇到的移动H5问题,有的问题答案已经不记得原文链接了所以没有贴上来,如有错/侵权请及时提醒,谢谢1. 判断设备类型的方法navigator.userAgent / navigator.platformnavigator.platform: 属性是一个只读的字符串,声明了运行浏览器的操作系统和(或)硬件平台。 所有主要浏览器都支持platform 属性语法:navigator.platformnavigator.userAgent: userAgent属性是一个只读的字符串,声明了浏览器用
2021-07-18 22:14:00 181
原创 ES6_P4 正则的扩展
阮一峰的《ES6入门》学习记录RegExp构造函数es5,RegExp构造函数的参数有2种情况// 第一种var regex = new RegExp('xyz','i')//等价于var regex = /xyz/i//第二种var regex = new RegExp(/xyz/i)//等价于var regex = /xyz/ivar regex = new RegExp(/xyz/,'i') //报错第二种方式的时候,不允许再使用第二个参数es6改变了这种情况,如果Reg
2021-06-03 23:46:37 116
原创 ES6_P3 字符串的扩展
阮一峰的《ES6入门》学习记录1、字符的Unicode方法字符串允许采用\uxxxx形式表示一个字符,其中xxxx表示的是字符的Unicode码点;但是这种表示法只限于\ux0000~\uFFFF之间的字符,超出这个范围的字符,必须用双字节表示ES6对这点做了改进,只要将码点放入大括号,就看正确解读该字符//es5"\uD842\uDFB7""\u20BB7" //7 //es6"\u{20BB7}" //吉JavaScript表示一个字符的方法"\z" z"\172" z
2021-06-02 22:01:42 101
原创 ES6_P2 解构赋值
阮一峰的《ES6入门》学习记录数组的解构赋值解构赋值:es6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值解构分为完全解构和不完全解构事实上,只要某种数据结构具有Iterator接口,都可以采用数组形式的解构赋值解构赋值允许指定默认值如果一个数组成员是null,默认值就不会生效 let [x=1]=[null] //x为null es6内部使用===判断一个值是否有值,如果一个数组成员不严格等于undefined,默认值不会生效 对象的解构赋值数组是按次序排列的,变量的
2021-06-02 11:13:17 107
原创 ES6_P1 let和const
阮一峰的《ES6入门》学习let基本使用:声明变量,类似于var,但是所声明的变量只在let命令所在的代码块内有效for循环的计数器很适合使用let命令var a= []for(var i=0;i<10;i++){ a[i] = function(){ console.log(i) }}a[6]() //10上述代码块中,变量i是var声明的,在全局范围内有效,所以全局只有一个i。每一次循环,变量i的值都会改变,而循环内,被赋给数组a的函数内部的con
2021-06-02 10:48:21 108
原创 element的表格el-table进行多选
1.首先实现多选,手动添加一个el-table-column,设type属性为selection即可<el-table-column type="selection" width="55" :selectable="selected"></el-table-column>selectable 仅对 type=selection 的列有效,类型为 Function,Function 的返回值用来决定这一行的 CheckBox 是否可以勾选selected(row,index){
2020-11-11 00:12:33 3248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人