origin

JS篇 同源策略、CORS、XSS、SessionCookie

女生的网名这么多〃 提交于 2020-01-21 03:27:07
同源策略: 如何引用: (iFrame指的是iframe DOM节点) 1. 引用iframe的window对象:iFrame.contentWindow 2. 引用iframe的document对象:iFrame.contentDocument,或者:iFrame.contentWindow.document 示例: 两个页面,前者页面中嵌入iframe,src指向后者: 1. test.nuomi.com/link1.vm 2. nuomi.com/link2.vm; 同源要求:Protocols, domains, and ports均相同 子域名不同的两个站:test.nuomi.com, nuomi.com,如果要通信, 都 必须设置为统一的域名:document.domain=nuomi.com; 即使其中一个已经是域名:nuomi.com,仍然需要 明确调用 :document.domain=nuomi.com; document.domain设值: 1. 只能是当前域名的suffix,否则报错:Uncaught SecurityError: Failed to set the 'domain' property on 'Document': 'test' is not a suffix of 'test.nuomi.com'. 2. 设值为com也会报错:'com'

lumen使用CORS解决跨域问题

﹥>﹥吖頭↗ 提交于 2020-01-20 23:54:04
因为公司的业务是前后端分离,web前端和后端接口域名不同,所以存在跨域问题,开始使用的是jsonp解决,但是因为接口风格是rest的,还有delete、put等请求,jsonp就不够用了(涉及HTTP简单请求和复杂请求, 这里 有详细介绍),因此就找到了CORS跨域解决方案。原理过长,所以本篇文章只写 服务端 代码实现部分。 代码实现 在 app/Http/Middleware 里新建一个 CorsMiddleware.php ,并写入如下代码: <?php /* * Author:xx_lufei * Time:2016年11月3日13:15:51 * Note:Access Control Headers. */ namespace App\Http\Middleware; use Illuminate\Http\Request; use Illuminate\Http\Response; class CorsMiddleware { private $headers; private $allow_origin; public function handle(Request $request, \Closure $next) { $this->headers = [ 'Access-Control-Allow-Methods' => 'GET, POST, PUT,

js继承模式

那年仲夏 提交于 2020-01-20 20:19:23
1、传统形式 ----> 原型链 过多的继承了没用的属性 Grand.prototype.lastName = "1"; function Grand(){ } var grand = new Grand(); Father.prototype = grand; function Father() { } var father = new Father(); Son.prototype = father; function Son() { } var son = new Son(); 2、借用构造函数 不能继承借用构造函数的原型 每次构造函数都要夺多走一个函数 function Person(name, sex, age) { this.name = name; this.sex = sex; this.age = age; } function Student(name, sex, age, grand) { Person.call(this, name, sex, age); this.grand = grand; } var student = new Student(); 3、共享原型 //缺点 :一个值改另一个也跟这改 不能随便改动自己的原型 Father.prototype.lastName = 'Deng'; function Father() { }

Vue基本语法和组件以及Git分支创建

北战南征 提交于 2020-01-20 18:28:02
寒假里接触首次项目实训,因为前面学的知识间隔太久。所以现在对项目中需要重点使用的Vue以及Git的部分知识点作以复习和巩固 -Vue 1.基本语法 2.Vue组件 3.Vue过渡和效果 -Git 1.新分支的创建 2.分支的上传 -Vue 参考地址:http://doc.vue-js.com/v2/guide/syntax.html 语法: 插值 文本 :“Mustache” 语法(双大括号) //<span>Message: {{ msg }}</span> ] 通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。 纯HTML :双大括号会将数据解释为纯文本,而非 HTML 。为了输出真正的 HTML ,你需要使用 v-html 指令 //<div v-html="rawHtml"></div> 被插入的内容都会被当做 HTML —— 数据绑定会被忽略。 属性 :Mustache 不能在 HTML 属性中使用,应使用 v-bind 指令: //<div v-bind:id="dynamicId"></div> 这对布尔值的属性也有效 —— 如果条件被求值为 false 的话该属性会被移除: //<button v-bind:disabled="someDynamicCondition">Button</button> 指令 指令

git的使用

*爱你&永不变心* 提交于 2020-01-20 16:58:06
1、安装git git config --global user.name ‘XXX’ git config --global user.email ‘XXX’ 2、创建本地库 mkidir learngit //自定义文件夹 cd learngit touch test.md //创建test.md文件 pwd //显示当前目录 3、常用CRT git init //初始化代码仓库 git add learngit.txt //把所有要提交的文件修改放到暂存区 git commit -m ‘add a file’ //把暂存区的所有内容提交到当前分支 git status //查看工作区状态 git diff //查看文件修改内容 git log //查看提交历史 git log --pretty=oneline //单行显示 git reset --hard HEAD^         //回退到上一个版本,其中(HEAD^^(上上版本),HEAD~100(往上100个版本)) commit id //(版本号) 可回到指定版本 git reflog //查看历史命令 其中说明【 工作区(Working Directory) 版本库(Repository) #.git stage(index) 暂存区 master Git自动创建的分支 HEAD 指针 】 git diff

git基本使用

拟墨画扇 提交于 2020-01-20 16:43:25
Git global setup git config -- global user . name "用户名" git config -- global user . email "邮箱" Create a new repository mkdir 目录名 cd 目录名 git init touch README . md git add README . md git commit - m "first commit" git remote add origin 远程仓库地址 git push - u origin master Push an existing Git repository cd existing_git_repo git remote add origin 远程仓库地址 git push - u origin master 来源: CSDN 作者: 剑指now 链接: https://blog.csdn.net/fangxuan1509/article/details/104050580

Django 项目中解决跨域

蹲街弑〆低调 提交于 2020-01-20 15:42:46
一、安装库 pip install django-cors-headers 二、在项目的配置文件settings.py进行配置 INSTALLED_APPS = [ ... "corsheaders", ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', # 解决跨域,注意顺序 'django.middleware.common.CommonMiddleware', ... ] # 添加下列配置项 CORS_ORIGIN_WHITELIST = () CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = True CORS_ALLOW_METHODS = ( 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'VIEW', ) CORS_ALLOW_HEADERS = ( 'XMLHttpRequest', 'X_FILENAME', 'accept-encoding', 'authorization',

【跨域报错解决方案】Access to XMLHttpRequest at 'http://xxx.com/xxx' from origin 'null' has been blocked by

时光毁灭记忆、已成空白 提交于 2020-01-20 03:47:41
错误背景描述: 在使用ajax调用api接口的时候:发生错误如下 Access to XMLHttpRequest at ‘http://xxxx.com/xxx’ from origin ‘null’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 发生错误的ajax代码如下: $ . ajax ( { url : 'http://xxx.com/xxxxx' , type : 'POST' , dataType : 'json' , success : function ( data ) { console . log ( data ) } } ) ; 错误发生原因: 这是一个资源跨域问题。 解决方法: 很简单。把dataType的json改为jsonp。 $ . ajax ( { url : 'http://xxx.com/xxxxx' , type : 'POST' , dataType : 'jsonp' , //这里修改成jsonp success : function ( data ) { console . log ( data ) } } ) ; 来源: CSDN 作者: 征途黯然. 链接:

git笔记三

非 Y 不嫁゛ 提交于 2020-01-19 18:58:04
六:创建与合并分支。 在 版本回填退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。 首先,我们来创建dev分支,然后切换到dev分支上。如下操作: git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令 git branch dev git checkout dev git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。然后我们在dev分支上继续做demo,比如我们现在在readme.txt再增加一行 7777777777777 首先我们先来查看下readme.txt内容,接着添加内容77777777,如下: 现在dev分支工作已完成,现在我们切换到主分支master上,继续查看readme.txt内容如下: 现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令 git merge dev 如下所示: git merge命令用于合并指定分支到当前分支上,合并后,再查看readme.txt内容,可以看到,和dev分支最新提交的是完全一样的。 注意到上面的Fast

版本管理工具Git(四)Git工具使用

微笑、不失礼 提交于 2020-01-19 18:11:22
Git的使用 全局配置 设置环境信息 git config ,这个就可以理解为git命令的上下文环境,尤其是在和远程仓库交互的时候。 # 加 --system 参数配置信息存放在/etc/gitconfig文件中,对所有用户适用 git config --system # 加 --global 选项配置存放在 ~/.gitconfig文件中 对当前用户适用 git config --global # 什么都不加就在当前工作目录的.git目录下存放,仅适用于当前项目,这个优先级最高 git config 修改配置 git config [--system|--global] -e ,它会打开一个类似VI编辑器的东西,这样就可以进行修改操作。 常用的设置包括: # 下面是设置一个用户信息 git config [--global] user.name [USER_NAME] 不加用户名就是查看当前项目中配置的用户 # 设置邮箱,如果不加邮箱就是查看 git config [--global] user.email "" # 设置密码,如果不加密码就是查看 git config [--global] user.password "" # 禁用SSL验证 git config [--global] http.sslverify false # 查看配置信息 git config -