上一章 我们说了 sign的生成 那么 我们如何确定这个sign的准确性呢 下来 我们说说 校验sign的那些事 在拿到header里面的内容之后 我们首先需要对其内容的基本参数做一个校验 我们补充下Common类的代码 <?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/8/15 * Time: 15:00 */ namespace app\index\controller; use app\common\li…
之前生成的sign和校验sign我们已经完全掌握了.但是仅仅凭借这样的sign是无法满足我们的需求的,如果一个黑客通过抓包抓到你的数据 他可以去修改你的header为这样的 body为那样的 也是可以通过sign校验的 那么我们怎么解决呢 下面将详细的 为大家解说 首先想到这样的一个问题 我么首先应当考虑到的就是sign的时效性问题 如果 我们的sign只有十秒的时间 那就算抓包 他也只能在这十秒里使用 那么有了这个想法之后 我们是否应当在 生成sign之前加入 time参数呢 这个time具体…
这里将会调用前面博客的数据库连接单例.文件缓存类和开发APP接口(一) <?php // http://app.com/list.php?page-=1&pagesize=12 require_once('./response.php'); require_once('./file.php'); $file = new File(); $data = $file->cacheData('index_cron_cahce'); if($data) { return Response::s…
在对于API的开发中 最让人头疼的 就是接口数据暴露 让一些有心之人 抓包之后恶意请求 那么如何解决这一弊端呢?自然而然的 我们就想到了 加密  那我们又如何加密 如何解密 才能使之有最安全的效率呢?这是一个值得我们深思的问题 带着这些问题 我们来尝试着 一一解决他们 首先加密校验是需要在每次请求的时候 都要去做的 所以我们需要 写一个公共类 让其他类来继承 暂定这个类就为 Common 吧 <?php /** * Created by PhpStorm. * User: Administrat…
在第一部分,我们创建了一个基本的ASP.NET Web API项目,新建成功了数据表,然后添加了一些测试数据,最后创建了API控制器,用json格式把数据表里面的内容成功输出到浏览器上.接下来我们将继续完成对数据的添加.修改.删除操作. 添加操作 public HttpResponseMessage Post(Friend friend) { if (ModelState.IsValid) { db.Friends.Add(friend); db.SaveChanges(); return Re…
r如何解决sign的唯一性呢,在以往的经验中,我们都是通过标识来确定 如果有 那就用过如果没有那就是没用过 当然我们还需要将sign存储起来 这样我们才能更好的去判断他是否用过 存储的话 我们有几种方式  可以存在文件中 也可以存在数据库中 更甚至 我们可以存在redis中 这里我存在文件中 也就是 Cache 中 我们需要在校验通过的时候 将 sign 写入到Cache 中 那么修改 common 类 如下 public function checkRequestAuth(){ $header…
上节简单介绍高德地图JavaScript API及网页中基本地图展示.有了地图后我们可以用来做什么?有人说离我最近的超市在哪里,我怎么去?别急,这些功能我们后面都会慢慢实现.今天为大家详细讲解如何在地图上留下标记,你可以在地图任意位置添加一个点,也可以把你的位置标记上去.在地图上做一个标记,标记做在哪里,用什么东西做标记是你来决定的.高德JavaScript API提供了点的三个属性{position, icon, map}分别记录点的位置,点的样子,将点放到地图.下面看看如何在地图上做标记吧-…
关键词: 工作流引擎 BPM系统 接口调用 工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流 一.程序调用开发接口二.   接口说明 所谓的驰骋工作流引擎的接口,在BP.WF.Dev2Interface.*上面的静态方法,前台页面通过这些静态方法通过页面于操作者提供交互数据功能交互.    Port_* 开头的方法都是组织结构相关的操作,比如:登录.登出.发送消息.    DB_*的都是提供数据列表的接口,比如:发起列表.待办列表.在途列表.完成列表等.   …
上一篇咱们已经把开发前的环境准备好了,还需要再做一点准备,你的账户信息是存在哪的呢,当然是存在数据库里的,咱们在去支付,扣钱的时候,肯定是从数据库里面操作的,去更新账户表里面的数据,所以咱们先要把数据库准备好,建好账户表,初始化几条账户信息,这样才能完整的把这个mock接口给完成. 这篇咱们就学习一下python怎么操作数据库,怎么执行sql,数据库使用sqlite,sqlite是一个跨平台开源的轻量级关系型数据库,不需要配置和安装直接就可以使用,sql语句和mysql.sqlserver.or…
前面有说过豆瓣API的开发,在做一些开源项目的时候,很多时候会用到豆瓣API接口,拿过来做测试,现在只是对豆瓣API开发做一些简单的梳理: 豆瓣API开发的接口: https://developers.douban.com/wiki/?title=api_v2 请求的参数: 返回: { "start" = 0, "count" = 10, "total" = 50, "targets" = [Target, ...] } 下面…
Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhong/category/771056.html .今天总结总结缓存使用过程中遇到的一些常见的问题.比如缓存雪崩,缓存穿透,缓存预热等等. 缓存雪崩 缓存雪崩是由于原有缓存失效(过期),新缓存未到期间.所有请求都去查询数据库,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机.从而形成一系列连锁…
背景需求 EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以满足无插件的全平台直播.经由EasyNVR处理会获取到RTMP.HLS.HTTP-FLV视频流,这就完美解决了插件直播的问题,只要终端设备支持H5就可以完美的播放EasyNVR分发出的视频流,这也是EasyNVR成为众多互联网直播用户首选的原因. 考虑到用户使用的安全性,EasyNVR软件提供接口鉴…
Asp.Net Web Api 与 Andriod 接口对接开发经验,给小伙伴分享一下!   最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己没也是第一次接触Web Api,我就开始了边学习边开发,甚至连自己都没有来得急去理解和消化一些知识,就得去做项目了,感觉还是挺赶,挺忙的,很多东西都是在地铁上学习到的,很感谢 ( Artech 和 张善友 )大神的博文 给予的…
经历了两天的时候终于把本地使用python3 django开发的接口API部署到服务器上了,还是记录一下,以免之后忘记,哈哈 注意一点,就是,centos7是基于python2的,我这边默认的是python2.7.5,记住不要删除了python2,否则后果很严重,yum会报错,这是因为python3和python2版本的冲突导致的 第一步,安装 python3 到 Centos7, 先安装软件管理包和可能使用的依赖 yum -y groupinstall "Development tools&q…
最近使用高德地图 JavaScript API 开发地图应用,提炼了不少心得,故写点博文,做个系列总结一下,希望能帮助到LBS开发同胞们. 项目客户端使用高德地图 JavaScript API,主要业务为以区县为基础自由划分区域,并将划分好的区域存入数据库,以作后续操作. 开发之初便遇见一个问题,客户可以在城市区县范围内自由划分自己需要的区域,但是高德地图并未提供自定义区域的实现方法,所以只能借助API自造轮子. 经过讨论得出一个实现方法,初始加载城市区县区域后,自定义折线对象,然后在区域内通过…
使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基于react全家桶(React.React-router-dom.redux.styled-components)开发的一套博客后台管理系统,用于前端小站的管理,主要功能包括游客浏览.文章管理.类别管理.评论通知.推荐设置和用户管理 [访问地址] 域名:https://admin.xiaohuoch…
天气预报API开发 一.        寻觅篇 最近想要跟着视频练习一下利用API开发一个天气预报系统,就在网上找了一下可以用的API,结果好多都已经失效了... 1.       百度车联网天气预报API(失败) 首先是找了视频了的百度开发者平台 – LBS – 车联网 – 天气预报API,结果发现已经在2015年12月停止服务了 2.       中国天气网API(失败) 没办法,既然百度不鸟我了,只能继续找找看有没有别的了.难道就百度一家做生意么? 百度了一下“天气预报API”(^-^),…
最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己也是第一次接触Web Api,我就开始了边学习边开发,甚至连自己都没有来得急去理解和消化一些知识,就得去做项目了,感觉还是挺赶,挺忙的,很多东西都是在地铁上学习到的,很感谢 ( Artech 和 张善友 )大神的博文 给予的帮助与启发 . 项目目录如下: 由于我这里所做的web api提供的是一整套项目接口,很多 ap…
紧接上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>,这里专讲OAuth2.0. 理解OAuth2.0 首先我们通过一张图片来了解一下OAuth2.0的运作模式: 从上图我们可以看到,整个过程进行了2次“握手”,最终利用授权的AccessToken进行一系列的请求,相关的过程说明如下: A:由客户端向服务器发出验证请求,请求中一般会携带这些参数 ID标识,例如appId 验证后跳转到的URL(redirectUrl) 状态参数(可选) 授权作用域…
最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己也是第一次接触Web Api,我就开始了边学习边开发,甚至连自己都没有来得急去理解和消化一些知识,就得去做项目了,感觉还是挺赶,挺忙的,很多东西都是在地铁上学习到的,很感谢 ( Artech 和 张善友 )大神的博文 给予的帮助与启发 . 项目目录如下: 由于我这里所做的web api提供的是一整套项目接口,很多 ap…
原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache的一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架.它可以实现如下的功能:1.验证用户2.对用户执行访问控制,如:判断用户是否具有角色admin,判断用户是否拥有访问的资源权限.3.在任何环境下使用SessionA…
自从我发布并开源WordPress版微信小程序以来,很多WordPress网站的站长问有关程序开发的问题,其实在文章:<用微信小程序连接WordPress网站>讲述过一些基本的要点,不过仍然有不少人对一些细节不明白,于是我就想着再写一篇比较全面而基础的教程,主要针对入门级别用户,高手就不用看了. WordPress版“守望轩”微信小程序开放源码地址:https://github.com/iamxjb/winxin-app-watch-life.net 至于标题,请原谅我,我标题党了. Word…
一.    ElasticSearch是什么 ElasticSearch是目前开源全文搜索引擎的首选,可以快速存储,搜索和分析海量数据.Stack Overflow,Github等都在使用. Elasticsearch 是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. ES提供的Client API:https://www.elastic.co/guide/en…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍Web系统的应用安全,主要涉及用户的身份认证和访问权限问题. 大部分web应用习惯采用Session来保存用户认证信息,对于WebApi而言,调用者不一定是Web浏览器,可能是Android.iOS客户端,可能是微信小程序,也可能是客户端程序等等,这些客户端模拟构造cookie.存储或传递sessio…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍异常处理的知识.由于异常处理的技术应用并不复杂,本篇更多讨论异常处理的一些理论知识,包括一些原则.约定和建议. 二.异常处理的基本原则 在Win32API编程中是没有异常处理机制的,函数一般都是通过返回一个BOOL型的状态码来表达处理是否成功,比如需要通过ID取得一个实体信息,需要这样定义: BOOL…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍如何采用依赖注入的方式创建和使用对象,主要从应用层面进行描述,不涉及具体的内部原理. 二.演练 假设要做一个日志服务的类,它实现在控制台打印出带时间信息的日志信息. 首先定义该服务的接口与实现类. public interface ILogService { void LogInfomation(st…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇讨论如何连接数据库,包括连接SQL Server 和 连接MySQL,然后做一些基本的数据操作. 二.连接SQL Server 首先通过NuGet添加相关的包: 新建一个实体类: public class Product { [Key] public string Code { get; set; } p…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍通过.NET core WebApi实现文件上传. 二.Controller端代码 直接上代码: [Route("api/files")] [Produces("application/json")] public class FileController : Contr…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 目前我们已经编写了一些Controller并通过Swagger进行了查询和调试,本篇将讨论Controller中的一些概念,包括: 1.GET.POST.PUT与DELETE 2.Route(路由) 3.Reques的类型 4.Produces 二.GET.POST.PUT与DELETE 先看一段代码: [P…
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 既然前后端开发完全分离,那么接口的测试和文档就显得非常重要,文档维护是一件比较麻烦的事情,特别是变更的文档,这时采用Swagger就会非常方便,同时解决了测试和接口文档两个问题. 二.使用NuGet获取包 使用NuGet搜索包:Swashbuckle.aspnetcore并安装. 三.添加代码 在Startu…