token

解读央行《区块链能做什么、不能做什么?》

血红的双手。 提交于 2019-12-06 15:54:23
解读央行《区块链能做什么、不能做什么?》 https://www.cnblogs.com/Evsward/p/9929102.html 近日,央行发布了长文《区块链能做什么、不能做什么?》,我想从一个程序员的角度来谈谈这篇文章。 观感 先说观感,这篇文章可以说真的是非常鞭辟入里了。笔触客观,分析得道。 token Token本质上是区块链内定义的状态变量,转账过程保证双方状态同时更新,token总量不变,不会形成传统意义上的结算在途资金或结算风险。 目前大部分智能合约都是针对token的复杂操作。例如定义、发行、销毁、投票、转让、奖励、抵押、冻结和解冻实则都是转账操作。 区块链的信息分为与token有关系和没关系两部分,有关系的是要被检验,共识。而没关系的只是单纯记录,只意味着信息不可篡改,没有提升信息的真实准确性。 比如,比特币节点会检验随机数(nonce)是“挖矿”问题的解,以及区块中的交易在数据结构、语法规范性、输入输出和数字签名等方面符合预先定义的标准。但对比特币创世区块中的“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks”,节点不会也没有能力验证这句话的真实准确性。 比如,比特币共识决定了截至某一区块,各地址对应的UTXO数量以及地址之间转让比特币的记录

Django --- csrf相关,auth相关

北城以北 提交于 2019-12-06 15:30:18
目录 1.csrf相关 1.跨站请求伪造 2.跨站请求伪造问题解决 3.crsf中间件 4.csrf装饰FBV的装饰器 5.csrf装饰CBV的装饰器 6.django settings源码刨析 2.auth模块 1.创建超级用户 2.创建用户 3.校验用户名和密码是否正确 4.保存用户登录状态 5.判断当前用户是否登录 6.校验原密码是否正确 7.修改密码 8.注销 9.校验用户登录的登录装饰器 10.auth扩展表 1.csrf相关 1.跨站请求伪造 跨站请求伪造:当用户访问一个网站的时候,搭建一个与用户想要访问的网站一摸一样的网站,使假网站的提交地址与站网站的一致,这时候用户访问的是假网站,但是操作却是在真网站上进行反馈的,例如银行网站。 原理:后端只能识别post请求,但是不能识别是不是自己网站返回的post请求 注意点: 1.真假网站的页面一致 2.提交请求的form表单中的action指向正确的网页地址,在提交的时候让后端以为是真网页提交过来的数据 3.在假网站中做一些操作,使用户在进行操作的时候默认的是假网站的设置提交的 2.跨站请求伪造问题解决 思路:只处理自己的网站发送过来的POST请求 解决方式:token 1.token token的特性是, 发送请求的时候:网站返回给用户一个form表单的时候,会自动添加一个token值发送到前端的页面中,这个token值是

幂等的实现方案

自作多情 提交于 2019-12-06 15:16:38
Source 幂等的概念 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 复制代码 在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,”getUsername()和setTrue()”函数就是一个幂等函数。 用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的 举几个例子: 比如前端对同一表单数据的重复提交,后台应该只会产生一个结果 比如我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱 比如发送消息,也应该只发一次,同样的短信如果多次发给用户,用户会崩溃 比如创建业务订单,一次业务请求只能创建一个,不能出现创建多个订单 复制代码 还有很多诸如此类的,这些逻辑都需要幂等的特性来支持。 实现幂等性的技术方案 查询操作 查询一次和查询多次,在数据不变的情况下,查询结果是一样的,select是天然的幂等操作。 删除操作 删除操作也是幂等的,删除一次和多次删除都是把数据删除。(注意可能返回结果不一样,删除的数据不存在,返回0,删除的数据多条,返回结果多个)。 唯一索引,防止新增脏数据

springboot+jwt

一世执手 提交于 2019-12-06 15:13:29
大概了解下SpringMVC和jwt,百度 代码: 1.整体框架 2.controller package com.yiyezhiqiu.jwt.jwt.controller;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.JSONPObject;import com.yiyezhiqiu.jwt.jwt.annotation.LoginAnnotation;import com.yiyezhiqiu.jwt.jwt.annotation.OtherPermit;import com.yiyezhiqiu.jwt.jwt.domain.Users;import com.yiyezhiqiu.jwt.jwt.service.IUsersService;import com.yiyezhiqiu.jwt.jwt.service.impl.GetToken;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*

Python微信公众号开发—小白篇(1)

我与影子孤独终老i 提交于 2019-12-06 14:58:36
本文面向想通过Python学习公众号开发的同学。一站式解决新手开发微信公众号遇到的所有问题。 为了防止我的文章被到处转载,贴一下我的公众号【智能制造社区】,欢迎大家关注。 github仓库地址 https://github.com/injetlee/Python/tree/master/wechat 本篇文章首先实现与公众号的对接,实现简单的回复文字、图片内容。下一篇会对接腾讯的AI平台,实现对照片的人脸检测与分析,分析年龄、性别、表情、魅力值等。 准备工作 首先要注册一个公众号,这个很简单,我们到微信公众平台注册就可以了,选择个人订阅号就可以。但是如果可以认证的,我建议选择认证订阅号,因为未认证的号很多功能权限都没有。好了,话不多说进入正题。 1. 配置公众号 打开公众号,在 开发->基本配置 页面填写内容。 下面说下需要填的内容,第一个URL要填的就是我们的服务地址,这个地址必须是外网地址并且是80端口。我们要本地开发时可以用 ngrok 解决。在ngrok.com官网下载。解压后就是一个exe程序。在当前目录下输入 .\ngrok.exe http 80 即可启动。启动后如下图所示,图片中网址就是我们需要的 然后我们复制红色方框里面的地址到微信的URL输入框中,比如我的就输入http://c9b15df5.ngrok.io/connect

java接入微信JS-SDK

流过昼夜 提交于 2019-12-06 14:21:08
在微信公众号开发中不可,jssdk的接入虽然不是必须,但是根据业务需求我们还是可能用到,下面是自己整理的关于java接入的jssdk的方法,这里是记录关于接入微信JS-SDK的准备工作,关于接入JS-SDK的相关功能,官网有明确的说明 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 。 第一步: 绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口权限。 第二步: 引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js 如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.4.0.js (支持https)。 备注:支持使用 AMD/CMD 标准模块加载方法加载 第三步: 通过config接口注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

thinkphp ajax请求token无效的问题

心已入冬 提交于 2019-12-06 14:17:16
直接上例子 表单如下 <div class="login-container"> <div class="loginbox bg-white"> <div class="loginbox-title">登录</div> <div class="loginbox-or"> <div class="or-line"></div> </div> <form method="post"> <input type="hidden" name="__token__" value="{$Request.token}" /> <div class="loginbox-textbox"> <input type="text" name="username" class="form-control" placeholder="用户名" /> </div> <div class="loginbox-textbox"> <input type="text" name="password" class="form-control" placeholder="密码" /> </div> <div class="loginbox-textbox"> <input name="captcha" type="text" class="form-control" placeholder="验证码" aria

微信公众号开发注意

。_饼干妹妹 提交于 2019-12-06 14:12:28
***1、access_token:是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token,目前access_token的有效期是2小时,过期重新获取,appid和appsecret都可以获取,可在“微信公众平台-开发-基本配置”页中获得,两小时之后,access_token在刷新的过程中,有五分钟的时间,新老access_token都可以使用,以达到业务的平稳过渡。access_token不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。**小程序无需配置IP白名单。 来源: https://www.cnblogs.com/dgxblogs/p/11988696.html

后端token认证模板

吃可爱长大的小学妹 提交于 2019-12-06 14:12:25
1.创建一个视图 from rest_framework import exceptions from app01 import models from rest_framework.authentication import BaseAuthentication class TokenAuth(BaseAuthentication): def authenticate(self, request): # 取到 request里面的 token值 totken = request.GET.get('token') token_obj = models.UserToken.objects.filter(token=totken).first() if not token_obj: # 抛认证字段的异常 raise exceptions.AuthenticationFailed("验证失败") else: return token_obj.user.user, token_obj.token 2.view导入使用即可 class MicroView(APIView): authentication_classes = [auth.TokenAuth,] def get(self,request,*args,**kwargs): ret = {'code':1000,'data':

Good idea to use REST token authentication for AJAX web apps?

筅森魡賤 提交于 2019-12-06 13:42:41
I created a REST web API using Python/Django and the excellent Django REST Framework. I'm experimenting with authentication methods at the moment and was wondering if it's a good practice to use "token authentication" for AJAX web apps. I included a sample HTML file with a very basic CRUD web app, demonstrating how I'm using token authentication at the moment. It works fine, but is it really OK (regarding security and so) to just include the authentication token in the source? Basic authentication seems like a good alternative, but then I would have to include both the username AND password in