数据校验

微信小程序的登入与授权

喜欢而已 提交于 2019-12-03 20:44:30
官方文档: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。 登录流程 说明: 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。 之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。 注意: 会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。 临时登录凭证 code 只能使用一次 小程序端执行wx.login后在回调函数中就能拿到上图的code,然后把这个code传给我们后端程序,后端拿到这个这个code后,可以请求code2Session接口拿到用的openid和session_key,openid是用户在微信中唯一标识,我们就可以把这个两个值(val)存起来,然后返回一个键(key)给小程序端,下次小程序请求我们后端的时候,带上这个key

Struts2相关面试题(转)

故事扮演 提交于 2019-12-03 20:25:18
Struts2 面试题 1、struts2工作流程 Struts 2 框架本身大致可以分为 3 个部分: 核心控制器 FilterDispatcher 、业务控制器 Action 和用户实现的企业业务逻辑组件。 核心控制器 FilterDispatcher 是 Struts 2 框架的基础, 包含了框架内部的控制流程和处理机制。 业务控制器 Action 和业务逻辑组件是需要用户来自己实现的。 用户在开发 Action 和业务逻辑组件的同时,还需要编写相关的配置文件, 供核心控制器 FilterDispatcher 来使用。 Struts 2 的工作流程相对于 Struts 1 要简单,与 WebWork 框架基本相同, 所以说 Struts 2 是 WebWork 的升级版本。基本简要流程如下: 1 、客户端初始化一个指向 Servlet 容器的请求; 2 、 这个请求经过一系列的过滤器( Filter ) (这些过滤器中有一个叫做 ActionContextCleanUp 的可选过滤器, 这个过滤器对于 Struts2 和其他框架的集成很有帮助,例如: SiteMesh Plugin ) 3 、接着 FilterDispatcher 被调用, FilterDispatcher 询问 ActionMapper 来决定这个请是否需要调用某个 Action 4 、如果

Django-4

丶灬走出姿态 提交于 2019-12-03 16:28:11
看起来可能零散,但重在查漏补缺。 创建 utils 的 python 文件,专门用于存放我们自己写的公用的功能。 创建 forms 的 python 文件,专门用于校验。 已知 views 用于视图逻辑的实现、models 用于定义各种表结构 一、公共方法抽成公用的类 上次结尾讲到的对表的增删改查(四种请求方式),以及模糊查询、过滤、分页,这样的功能比较常见,所以抽成单独的类,使其具有普适性。 1 class Nbview(View): 2 search_field = [] 3 filter_field = [] 4 model = None 5 form_class = None 6 7 def get_filter_dict(self): 8 filter_dict = {} # 这个是用来过滤数据的字典 {'id':1,'name':'abc','phone':xxx} id=1,name=abc,phone=xxx 9 for field in self.filter_field: # 循环获取到有哪些过滤的字段 10 value = self.request.GET.get(field) 11 if value: 12 filter_dict[field] = value 13 return filter_dict 14 15 def get_search_obj

django form和ModelForm组件

二次信任 提交于 2019-12-03 14:38:23
form介绍与使用 功能: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 使用: 1.写规则 2.应用 常用的字段与插件 form内置字段 字段校验 Hook方法 补充进阶 ModelForm modelform定义 来源: https://www.cnblogs.com/huay/p/11800316.html

Hadoop(十)Hadoop IO之数据完整性

社会主义新天地 提交于 2019-12-03 14:31:08
前言   上一篇我分享了Hadoop的压缩和编解码器,在我们开发的过程中其实是经常会用到的,所以一定要去掌握。这一篇给大家介绍的是Hadoop的数据完整性!   Hadoop用户在使用HDFS储存和处理数据不会丢失或者损坏,在磁盘或者网络上的每一个I/O操作不太可能将错误引入自己正在读/写的数据中,但是如果   在处理的数据量非常大到Hadoop的处理极限时,数据被损坏的概率还是挺大的。 一、数据完整性概述   检测数据是否损坏的常用措施是:在数据第一次引入系统时计算校验和并在数据通过一个不可靠的同道进行传输时再一次计算校验和,这样就能发现数据是否   损坏。如果计算所得的新校验和原来的校验不匹配,那么表明数据已经损坏。   注意:该技术并不能修复数据,它只能检测出数据错误。(校验和数据也可能损坏,但是由于校验和文件小,所以损坏的可能性小)   常用的错误检测码是:CRC-32(循环冗余校验),使用CRC-32算法任何大小的数据输入均计算得到一个32位的整数校验码。 二、HDFS的数据完整性 2.1、本地文件上传到HDFS集群时的校验   下面我画了一个图好理解:        比如说我们要本地的passwd文件上传到HDFS集群中,会在本地通过CRC-32算法产生一个对passwd文件的一个校验文件:.passwd.crc。在我们将passwd上传到HDFS集群的时候,  

From组件

江枫思渺然 提交于 2019-12-03 12:01:28
Form组件能用来干什么? 先提一个需求以此来介绍form组件 1.注册功能 用户输入的用户名中 不能包含'违规信息' 如果包含了 就提示用户 输入的内容不符合社会主义核心价值观 用户输入的密码 不能小于三位 如果密码少于三位 提示用户 密码太短了 (******) 校验数据通常是前后端都有校验 但是前端校验可有可无 哪怕再牛逼 后端也必须要有校验 反正一句话 前端可有不校验 后端必须校验!!! 思路: 首先要搭建前端页面 -----> 渲染页面 获取前端用户提交的数据体验 ----> 校验数据 对数据得娇艳的结果 展示到前端页面给用户查看----->展示错误信息 思考一下你要怎么做,算了还是别思考了,直接使用我们的form组件 form组件是一个非常好用的组件, 主要功能如下: 生成页面可用的HTML标签 对用户提交的数据检验 还能保留上一次输入的内容 输入内容有错误,就可以在页面相对应位置显示对应的错误信息 使用form组件 添加校验有三种方式 1.字段 2.钩子函数 3.字段中添加正则 自定义信息 1.定义类继承django中的forms.Form类 ​ 在类中创建form组件字段 from django import forms class MyRegForm(forms.Form): username = forms.CharField(min_length=3,max

JWT认证

佐手、 提交于 2019-12-03 10:06:21
优点 """ 1) 服务器不要存储token,token交给每一个客户端自己存储,服务器压力小 2)服务器存储的是 签发和校验token 两段算法,签发认证的效率高 3)算法完成各集群服务器同步成本低,路由项目完成集群部署(适应高并发) """ 格式 """ 1) jwt token采用三段式:头部.载荷.签名 2)每一部分都是一个json字典加密形参的字符串 3)头部和载荷采用的是base64可逆加密(前台后台都可以解密) 4)签名采用hash256不可逆加密(后台校验采用碰撞校验) 5)各部分字典的内容: 头部:基础信息 - 公司信息、项目组信息、可逆加密采用的算法 载荷:有用但非私密的信息 - 用户可公开信息、过期时间 签名:头部+载荷+秘钥 不可逆加密后的结果 注:服务器jwt签名加密秘钥一定不能泄露 签发token:固定的头部信息加密.当前的登陆用户与过期时间加密.头部+载荷+秘钥生成不可逆加密 校验token:头部可校验也可以不校验,载荷校验出用户与过期时间,头部+载荷+秘钥完成碰撞检测校验token是否被篡改 """ drf-jwt插件 官网 https://github.com/jpadilla/django-rest-framework-jwt 安装 >: pip3 install djangorestframework-jwt 登录-签发token:api

AOP编程

懵懂的女人 提交于 2019-12-03 08:20:22
AOP:面向切面编程思想,利用“动态代理”的技术,可以在不改变“目标对象”的基础上,对目标对象的方法进行增强。 通过简单案例引入 AOP: 有一个UserServiceImpl类,里面有一个remove方法后来有个新需求 需求1:希望在调用remove方法删除数据前进行权限校验【对remove方法进行增强】 需求2:希望在调用UserServiceImpl类所有的方法前进行权限校验 需求3:希望整个项目中的所有的service类的所有关于数据操作的方法执行前进行权限校验 用工具类,将权限校验的方法定义在工具类中,方便各个类中的方法中进行调用,目前最好的方式。 Java中有个动态代理技术:Proxy反射包下的api 目标对象:需要被增强的类new创建出来的对象,比如此时的UserServiceImpl 代理对象:动过动态代理技术创建出来的与目标对象类型相同的对象 来源: https://www.cnblogs.com/Tunan-Ki/p/11784836.html

01_接口测试介绍

老子叫甜甜 提交于 2019-12-03 07:29:48
转: https://www.cnblogs.com/feng0815/p/7509541.html 首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 一、常见接口: 1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等; 2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter

20 Auth认证模块

落花浮王杯 提交于 2019-12-03 02:40:56
目录 一、Auth模块是什么 二、auth模块创建超级用户 三、Auth 自定义登录页面 登录超级用户 四、auth模块 常用方法 4.1 如何创建超级用户 4.2 如何使用普通的登录页面校验用户存不存在 4.3 auth 保存用户登录状态 4.4 auth 的request.user 4.5 局部配置/全局配置 装饰器 4.6 利用装饰器实现用户密码修改 4.7 auth 如何注册新的用户 五、扩展 auth_user 表的字段 一、Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,我们就要自己利用cookie和session去进行登录认证,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth,不知道大家在之前我们用django创建模型表的时候,执行数据库迁移命令和建表命令的时候,我们发现它不仅有我们自己的表,还有一些其他的表,哪些都是django中自带的表,如下图 它默认使用 auth_user 表来存储用户数据: 先来看一看这张表中有哪些字段吧 二、auth模块创建超级用户 下面我们来看一张图:图中的url你是不是很熟悉啊