- 博客(31)
- 收藏
- 关注
原创 学习地址
资源文件Node.js中的命令行注入安全漏洞:http://ourjs.com/detail/547d60190dad0fbb6d00000b,https://juejin.im/post/5bdf02c9e51d450540286fbfjs混淆相关:https://introspelliam.github.io/2017/11/12/misc/CTF%E6%AF%94%E8%B5%9B%E4%B8%AD%E5%85%B3%E4%BA%8Ejavascript%E7%9A%84%E6%80%BB%E
2020-11-27 16:48:41
626
1
原创 JS之正则表达式
一.定义: 直接量:/s$/ 构造函数:new RegExp(“s$”); 各种字符与元字符:1.直接量字符:支持非字母的匹配,通过反斜线(\)进行转义 正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消转存失败重新上传取消正在上传…重新上传取消正在上传…重新上传取消2.字符类:一个字符类可以匹配它所包含的任意字符...
2020-03-24 18:35:58
409
原创 JS之数据类型
JS中有7种数据类型undefined:未定义 null:表示一个空对象指针。注:要比较相等性之前,不能将null和undefined转换成其他任何值,即0==null,0==undefind,这一类返回false,解决方法Number(null),但规定了null==undefind返回true。 Boolean:true false Number:数值范围Infinity和负无穷,...
2020-03-24 15:51:15
359
原创 《HTTP权威指南》读书笔记---第一部分
这一部分讲1~4章,简述HTTP协议。第1章:HTTP概述 主要讲述HTTP如何工作的。web客户端与服务端:web服务器上存储着内容,客户端通过HTTP协议向HTTP服务器请求响应内容。web客户端与服务端是基本组件。资源:web服务器是web资源的宿主。静态文件(.img、.html、.avi)可以是资源,软件代码可以是资源,搜索引擎可以是资源等等...
2020-03-01 18:28:38
199
原创 JS Module
三种模块规范:UMD CommonJS ES6 moduleCommonJscommonJS是node的模块化系统。主要语法为:module.exports、exports、require导出:模块导出://一个一个 导出module.exports.age = 1module.exports.foo = function(){}exports.a = 'h...
2020-02-03 14:22:07
430
1
原创 跨域安全方案
由于浏览器同源策略使得不同源、不同域名、不同端口的Cookie无法读取、DOM和JS对象无法获取、AJAX不能发送,所以在写日常业务时常需要跨域一、jsonp跨域(只能GET请求)常见安全问题1.JSON劫持,由于未校验referer来源,导致攻击者可以构造恶意页面诱导受害者访问接口,劫持敏感信息,从而导致csrf漏洞2.callback自定义导致xss漏洞,由于未对JSON...
2019-12-25 17:08:10
494
1
原创 JS之引擎执行过程
0x00.基础 js是单线程语言。浏览器端JS是以单线程方式运行的,js与UI渲染占用一个主线程。当然,JS可以开启多线程(webwork)。 js是异步执行的。js的快速解析速度得益于异步执行。js与UI渲染占用同一个主线程,这时如果js进行高负载的数据处理容易造成阻塞,造成浏览器卡顿。js提供了异步操作,像定时器(setTimeout、serInterval...
2019-11-22 21:22:33
346
原创 代码埋点
这里对埋点做个总结1.何为代码埋点? 代码埋点就是在你需要统计的地方植入代码,统计用户的行为,比如点击量、访客数、访问数、页面停留时间等。便于运营分析网站数据,进一步做优化。2.埋点类型2.1手动埋点 这种方法比较常见,RD通过在页面需要加埋点的地方添加埋点代码,将监听的数据传送给server。 优点:可以在精准的地方得到数据信息。...
2019-11-12 18:07:31
2502
原创 DOM XSS
0x01.是什么?? DOM XSS 本质上是一种不涉及服务端的纯前端漏洞,通过浏览器端解析造成攻击。在浏览器端解析修改DOM树,由于前端代码在浏览器相当于‘公开’的,DOM XSS这类漏洞容易被分析发现。而且DOM XSS 重要的优势是它可以绕过waf0x02.DOM XSS 有哪些场景?一般的攻击方法是:攻击者构造一个URL,诱发用户点击,用户点击后,URL可以利用DOM X...
2019-11-04 17:13:08
387
原创 点击劫持
防御点击劫持:点击劫持的原理主要是通过在自己的网页通过iframe嵌套别人的网站,而在嵌套的网站上覆盖新的内容设置透明度实现恶意操作。主要防御可以通过frame-busting,通过JavaScript代码禁止iframe的嵌套,但是存在绕过还可以在服务端设置X-Frame-Options...
2019-11-04 12:03:31
226
原创 浏览器进制及编码常识
一、HTML与JavaScript自解码机制 JavaScript代码出现在HTML标签内,意味着这段JavaScript可以进行HTML形式的编码,这种编码有以下两种:进制编码:&#xH;(十六进制格式)、&#D;(十进制格式),最后分号可以不要。 HTML实体编码。在JavaScript执行之前,HTML形式的编码会自动解码。如下:<input...
2019-08-05 11:06:00
833
原创 内核,引擎,runtime 区别 联系
一、内核:浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑...
2018-12-11 11:09:41
2675
原创 CSRF
CSRF,即 Cross Site Request Forgery,中译是跨站请求伪造,是一种劫持受信任用户向服务器发送非预期请求的攻击方式。简单来说,攻击者盗用了你的身份,并以你的名义发送恶意请求。通常情况下,CSRF 攻击是攻击者借助受害者的 Cookie 骗取服务器的信任,可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击服务器,从而在并未授权的情况下执行在权限保护之下的操...
2018-09-27 15:58:49
670
原创 XSS
XSS,即 Cross Site Script,中译是跨站脚本攻击;其原本缩写是 CSS,但为了和层叠样式表(Cascading Style Sheet)有所区分,因而在安全领域叫做 XSS。XSS攻击是指攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一种方式。攻击者注入恶意的脚本一般包括JavaScrip...
2018-09-27 12:23:57
1714
转载 JavaScript执行机制
转自:https://juejin.im/post/59e85eebf265da430d571f89这一次,彻底弄懂 JavaScript 执行机制本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为java...
2018-06-22 16:01:25
163
原创 浏览器缓存和HTTP缓存协商
简单来说,浏览器缓存就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。缓存会根据进来的请求保存输出内容的副本。当下一个请求来到的时候,如果是相同的URL,缓存会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。比较常见的就是浏览器会缓存访问过网站的网页,当再次访问这个URL地址的时候,如果网页没有更新,就不会再次下载...
2018-06-21 13:26:57
925
转载 Hibernate 关联映射(一对多、多对一)
关联映射之一对多、多对一映射一、需求: 部门与员工 一个部门有多个员工 【一对多】 多个员工,属于一个部门 【多对一】二、逻辑分析: 三、代码实现 1、javabean及映射文件的配置: 1)Employee.java、Employee.hbm.xml 2)Dept.java、Dept.hbm.xml 完整的Dept.hbm.xml配置:<?xml version="1.0"?>&l...
2018-06-20 21:31:49
144
转载 Hibernate自动建表
hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步。如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码Xml代码<property name="hbm2ddl.auto">update</property> update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺...
2018-06-20 21:29:56
214
转载 hibernate和HQL语句
注意:HQL语言,是基于对象进行查询的,不是基于数据库的表。1、基本的HQL查询1.1 使用HQL查询的一般步骤[java] view plain copypublic void test01() { Session session = HibernateUtils.openSession(); Query query = session.createQuery("from S...
2018-06-20 21:29:06
182
转载 hibernate配置mysql
使用hibernate连接mysql数据库1:项目搭建好之后,在lib包中添加必要的jar包,和mysql数据库驱动jar包:jar包可以在hibernate的下载包(hibernate3.3.2.GA)中找到,这里所需要的jar包是:hibernate3.jar,lib/required目录下的所有jar包;连接数据库所需要的jar包:mysql-connector-java-5.1.7-bin...
2018-06-20 21:27:59
1157
转载 Hibernate环境搭建
一、HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servle...
2018-06-20 21:26:50
176
原创 HTTP协议
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。一、工作原理HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过...
2018-06-18 11:09:20
554
原创 JS跨域
在非同源情况下,共有三种行为受到限制:(1)Cookie、LocalStorage 和 IndexDB 无法读取。(2) DOM和js对象 无法获得。(3) AJAX 请求不能发送。一、CookieCookie 是服务器写入浏览器的一小段信息,只有同源的网页才能共享。1.浏览器允许通过设置document.domain共享Cookie如果A网页是http://w1.chen.com/a.html,...
2018-06-15 21:34:57
184
原创 JS中new和Object.create()
1.使用Object.create()Object.create()方法是ECMAScript5中新增的,用来规范化原型式继承的。这个方法接收两个参数,一个是用作新对象原型的对象,和一个为新对象定义额外属性的(可选)对象。其内部实现原理:Object.create = function (o) { var F = function () {}; F.prototype = o;...
2018-06-14 22:04:15
1028
原创 JS之继承
//定义动物类function Animal(){...}//原型方法Animal.prototype={...}//实现Cat继承Animal类function Cat(){}//创造实例var cat1 = new Cat();var cat2 = new Cat();我们在实现继承时需要注意两件事:一是在继承过程中将父类的方法和父类原型方法继承完全二是不要让继承类的实例也就是...
2018-06-13 20:51:24
244
原创 JS之闭包
在js中,闭包主要涉及js中其它几个特性:作用域链,垃圾(内存)回收机制,函数嵌套等;一、作用域链(Scope Chain) 在理解闭包前,最好要先理解作用域链。简单来说,作用域链就是函数在定义时创建的,用于寻找使用到的变量值的一个索引。而他内部的规则是将把函数自身的本地变量放在最前面,把自身的父级函数放在其次,再把高一级的函数放在后面,以此类推把全局变量放在最后面。当函数寻...
2018-06-12 14:32:09
180
原创 flex弹性盒模型
1.flex相关概念示意图 使用flex布局的容器(flex container),它内部的元素自动成为flex项目(flex item)。容器拥有两根隐形的轴,水平的主轴(main axis),和竖直的交叉轴。主轴开始的位置,即主轴与右边框的交点,称为main start;主轴结束的位置称为main end;交叉轴开始的位置称为cross start;交叉轴结束的位置称为cross en...
2018-05-20 21:32:11
1498
原创 Mac打开、编辑 .bash_profile 文件
一般在Mac上配置环境变量时经常要创建、编辑 .bash_profile文件。 创建该文件时一般都会选择在当前用户目录下,即Mac下的.bash_profile 文件的路径是 /Users/YourMacUserName/.bash_profile (如果该文件已经创建过的话)1、创建 .bash_profile(1) 启动终端Terminal(2) 进入当前用户的home目录: cd ~ ...
2018-05-08 01:00:27
2624
原创 DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API,DOM只是一个接口规范,可以用各种语言实现。 DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构。节点之间的关系构成了层次,形成了以一个以特定节点为根节点的树状结构。节点的类型有七种1.Document:整个文档树的顶层节点2.DocumentType:doctype标签(比如<!DOCTYPE html&g...
2018-04-17 23:40:01
119
原创 使用canvas实现简单动画
大多数 Canvas 绘图 API 都没有定义在 <canvas> 元素本身上,而是定义在通过画布的 getContext()获得的一个“绘图环境”对象上。实现如下星星的运动<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></titl
2018-04-16 23:27:41
9610
原创 mysql基本操作
一、操作语句类型:DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert、delete、updateDCL:数据库控制语言 ,关键字:grant、removeDQL:数据库查询语言,关键字:select二、安装MySQL1.在mac安装过mysql后去系统偏好设置里面启动MySQL2.在控制台输入‘mysql -u root -p’...
2018-04-13 15:55:59
357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人