App开放接口API安全性之Token签名Sign的设计与实现

前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等,但是为了安全起见让用户暴露的明文密码次数越少越好,我们一般在web项目中,大多数采用保存的session中,然后在存一份到cookie中,来保持用户的回话有效性。但是在app提供的开放接口中,后端服务器在用户登录后如何去验证和维护用户的登陆有效性呢,以下是参考项目中设计的解决方案,其原理和大多数开
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

36-Docker 的两类存储资源

我们从本章开始讨论 Docker 存储。 Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层。 Data Volume。 我们会详细讨论它们的原理和特性。 容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的分层结构最大的特性是 Copy-on-Write: 新数据会直接存放在最上面的容器层。 修改现有数据会先从镜像层将数据复制到容器层,修改后的数据直接保存在容器层中,镜像层保持不变。 如果多个层中有命名
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

第十三周助教小结

本周心得: 本周大部分学校课程已经结束,但是还不能放弃学习点评。本周完成了一次软考辅导,帮助了很多学生进行软考突击培训。其中软考程序员和软件工程师等级考试对于UML知识考分很多。现在大学生比较忽视软件工程的学习,认为UML图与之前学习的软件工程各类图形并没有什么作用,但是在实际工作和考试当中,对于软件工程学习都非常重视。其中初级程序员考试一道大题考察--理解类图完成面向对象语言JAVA或C++的编程。而中级软件工程师考试中考察E-R图、数据流图、类图等,下午考试题基本都是这些范围。我帮助了很多
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

shell--打开新的.sh文件,直接添加title

11 autocmd BufNewFile *.sh exec ":call MyTitle()" 12 func MyTitle() 13 if expand("%:e") == 'sh' 14 call setline(1,"#!/bin/bash") 15 call setline(2,"#=================================================================") 16 cal
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

python的object(转)

原文章:https://www.cnblogs.com/sesshoumaru/p/6042322.html  1. object类是Python中所有类的基类,如果定义一个类时没有指定继承哪个类,则默认继承object类。 >>> class A: pass >>> issubclass(A,object) True   2. object类定义了所有类的一些公共方法。 >>> dir(object) ['__class__', '__delattr__',
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

红黑树的突破点

想了解红黑树,首先去看 2-3查找树吧,这里是突破点。 其次,了解完2-3查找树,基本也就差不多了解红黑树了。 2-3查找树在实现起来有些麻烦,最终采用了红黑树的实现方式 其中的3节点看成了两个2节点(普通节点),中间用红色线连接起来 将红黑树中那两个红色线连起来的节点画在一条线上,再在外面框一下,就是2-3树种的3节点咯
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础

目录 Exp9: Web安全基础 一、基础知识 1.SQL注入攻击 2.XSS跨站脚本攻击 3.CSRF跨站请求伪造 二、SQL注入 1. 命令注入 2. 数字注入 3. 日志欺骗 三、XSS攻击 1. XSS钓鱼攻击 四、CSRF攻击 1. 跨站请求伪造 五、实验总结与体会 Exp9: Web安全基础 一、基础知识 1.SQL注入攻击 基本原理: 就是不法分子利用编程漏洞,通过表单输入特殊字符和恶意SQL代码,使得后台执行SQL查询时,对数据库产生不可预知或不可逆的攻击或破坏。 防御方法:
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

本周学习总结(ng-zorro/MDN索引/读书笔记)

按钮 <button ng-button nzType="primary">Primary</button> nzType="" primary/default/dashed/danger 按钮内部嵌入图标 <button nz-button nzType="primary"> Search<i nz-icon type="search"></i> </button> 大小 nzSize large 大 small 小 按钮组 <nz-button-group [nzSize
分类: 其他 发布时间: 05-26 18:41 阅读次数: 0

20165218 《网络对抗技术》 Exp9 网络安全基础

Exp9 网络完全基础 基础问题回答 SQL注入攻击原理,如何防御 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 sql注入攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql语句以及进行其他方式的攻击,动态生成Sql语句时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。 比如登录过程,SQL语句一般为:"select id from users where username = '"+use
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

P3574 [POI2014]农场物语

题目描述 在一个叫做比特村的小村庄中,有n−1n-1n−1条路连接着这个村庄中的全部nnn个房子。 每两个房子之间都有一条唯一的通路。 这些房子的编号为1至nnn。 1号房子属于村庄的管理员比特安萨尔。 为了提升村庄的科技使用水平,nnn台电脑被快递到了比特安萨尔的房子。 每个房子都应该有一台电脑,且分发电脑的任务就落在了比特安萨尔的肩上。 比特村的居民一致同意去玩农场物语这个游戏的最新快照版,而且好消息是他们很快就要得到他们最新的高配置电脑了。 比特安萨尔将所有电脑都装在了他的卡车上,而且他
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

安装BCG界面库 会导致vs2013qt库配置消失

安装BCG界面库 会导致vs2013qt库配置消失 安装BCG界面库 会导致vs2013qt库配置消失 安装BCG界面库 会导致vs2013qt库配置消失
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

JDBC简单增删改查实现(单表)

0.准备工作 开发工具: MySQL数据库, intelliJ IDEA2017. 准备jar包: mysql-connector-java-5.1.28-bin.jar(其他均可) 1. 数据库数据准备 2. 项目结构图示 3.代码 实体类Book.java package com.zzuli.entity; import java.util.Date; /** * * 图书实体类 * Created by hejjon on 2019/5/25. */ pub
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

算法图解之递归

图一: 图二: 图一和图二对比,它们的作用都是相同的。从流程上分析,图一流程相对比较复杂,而图二则简单明了, 这是某位同行在stackoverflow上面说过的话:如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易死理解。如何选择要看什么对你来说跟重要。 那么递归和循环之间的区别是什么呢? 不同点: 递归是函数体中调用自己,如果不加以控制,将无休止的调用自己,直到堆栈溢出。 循环是反复执行某一段区域内的代码,如果不加以控制,就会形成死循环。 相同点: 不管是递归还是循环,都要设定一
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

CRMEB中因为重写规则导致的服务器异常和404之解决办法

问题描述: 安装CRMEB后,只能通过https://域名//index.php/admin访问到后台,而不能直接通过https://域名/admin访问到后台,以至于导致进入系统后台出现有的功能界面可用,有的功能界面则出现404或者服务器异常之类的,从浏览器上看就是路径方面的原因导致的,实际原因则是apache没有开启重写模块导致的。 问题解决方案: 第一、.htaccess(根目录有一个.htaccess,这个要与如下保持一致) <IfModule mod_rewrite.c> Opti
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

配置区域策略防火墙

拓扑图 地址表 Device Interface IP Address Subnet Mask Default Gateway R1 Fa0/0 10.26.11.1 255.255.255.0 N/A S0/0/0000 10.26.1.1 255.255.255.0 N/A R2 S0/0/0100 10.26.1.2 255.255.255.0 N/A S0/0/1 10.26.2.2 255.255.255.0 N/A R3 Fa0/0 10.26.13.1 255.255.255.0
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

Android:通过systrace进行性能分析

一.Systrace 简介   Systrace 允许您在系统级别(如SurfaceFlinger、WindowManagerService等Framework部分关键模块、服务、View系统等)收集和检查设备上运行的所有进程的计时信息。 它将来自Android内核的数据(例如CPU调度程序,磁盘活动和应用程序线程)组合起来,以生成HTML报告。 二、抓取Systrace 的方法: 方法一:使用Android Device Monitor行抓取 Systrace 启动 Android Devi
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

RabbitMQ-基本概念(一)

整体架构模型 Producer 消息生产者,生产者创建消息然后发布到RabbitM中,消息一般包含2个部分 消息体(payload)和标签 消息体就是带有业务逻辑结构的数据,消息标签用来表述这条消息,比如交换器名称和路由键 生产者将消息交给RabbitMQ rabbItMQ会根据标签将消息投递到对应的消费组 队列 RabbitMQ的内部对象,用于存储消息 rabbitMQ不支持广播消息,当多个消费者订阅同一个队列,则会平均分摊到对应的消费者 Consumer 消费者,消费组连接到RabbitM
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

软件项目功能测试框架

 功能测试框架可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试等等。   1.1.1 界面友好性测试   风格、样式、颜色是否协调   界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条   界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)   操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)   提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等)   界面中各个控件
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

一试前——区间dp

括号序列 (翻译在这
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0

myeclipse 2015 myeclipse2010破解共存

1、高版本选择bling版本,低版本选择profession版本 2、用高版本的公钥替换低版本的公钥 3、先破解低版本的后破解高版本的 4、最后用高版本的替换低版本的文件
分类: 其他 发布时间: 05-26 18:25 阅读次数: 0