2022-07-23 笔记

1.什么是csrf攻击?

cross-Site Request Forgery 跨站请求伪造

攻击者首先盗用了你的身份,然后以你的名义进行某些非法操作。CSRF能够使用你的账户发送邮件,获取你的敏感信息,甚至盗走你的账户购买商品等。CSRF攻击其实是利用了web中用户身份认证验证的一个漏洞:简单的身份验证仅仅能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。


GET类型的CSRF
仅仅须要一个HTTP请求。就能够构造一次简单的CSRF。
样例:

<img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>

首先,你登录了银行站点A,然后訪问危急站点B,这时你会发现你的银行账户少了1000块。银行认为这是一个更新资源操作(转账操作),所以就立马进行转账操作。

POST类型的CSRF
这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单,如:

<form action=http://wooyun.org/csrf.php method=POST>
    <input type="text" name="xx" value="11" />
</form>
<script> document.forms[0].submit(); </script>

访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作。


2. router作为全局插件来使用

在main.js中导入router后再其他组件就可以使用this.$.router.push了

main.js中
import {router} from "@/router";
组件中
this.$router.push("/index");

如果不这样做,就要在每个组件导入

组件中
import {router} from "@/router";
router.push("/index");

3. vue组件书写规范

一般export的name是由两个字母组成,一般是XXPage,如下面写Header会报错,而写成HeaderPage不会

export default {
  name: "HeaderPage"
}

但是如这样的名称就不必加page

export default {
  name: "MainContent"
}
export default {
  name: "SideBar"
}

4. 简单概括一下promise

Promise 是 ES6 新增的语法,解决了回调地狱的问题。

无论是ES6的Promise也好,jQuery的Promise也好,不同的库有不同的实现,但是大家遵循的都是同一套规范,所以,Promise并不指特定的某个实现,它是一种规范,是一套处理JavaScript异步的机制。

Promise 本质上就是一个绑定了回调的对象,而不是将回调传回函数内部。

所以,Promise在一定程度上解决了回调函数的书写结构问题,但回调函数依然在主流程上存在,只不过都放到了then(…)里面,
promise成功是then,失败是catch

 this.$api.login.login("/login", this.loginForm)
    .then(res => {
      	console.log(res);
      	this.$router.push("/index");
    }).catch(err => {
	   console.log(err);
	   this.$router.push("/");//跳到登录页面
 })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山有木兮-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值