技术饭 php的sm2加密、签名、验签,sm4加密
php的sm2加密、签名、验签,sm4加密,为了保障商用密码的安全性,国家密码局制定了一系列密码标准,包括:SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC) 等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法。SM2、SM9是非对称算法。SM3是哈希算法,其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
阅读全文 » 445天前2023年09月05日
生活札记 Fiddler抓包、JMeter性能测试、Postman接口调试工具之自动化测试(一)
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果。
阅读全文 » 615天前2023年03月19日
生活札记 Docker+K8S+Devops零基础入门教程之Docker
docker是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。docker images | grep hello | awk '{print $2}'
阅读全文 » 654天前2023年02月08日
技术饭 php函数getimagesize()函数获取腾讯云对象存储图片信息太慢解决办法
php函数getimagesize()函数获取腾讯云对象存储图片信息太慢,导致接口返回超过了5s,这个体验太不好了,按照正常逻辑:想获取图片信息,当然是用getimagesize()函数,对于getimagesize()函数而言本地服务器的文件读取相对是比较快的,但是远程的图片就太慢了,必须先现在到本地服务器,然后再获取,如果有的图片很大,那这个下载速度可想而知的慢。
阅读全文 » 1102天前2021年11月17日
技术饭 解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题
解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题,现象:1、两个https的二级域名解析在同一台服务器上,端口都是443;2、前端域名与接口域名同时在同一个浏览器打开,接口域名登录后台生成PHPSESSID,保存了登录状态;3、前端域名请求接口域名生成验证码,验证保存在session里面,由于访问接口,每次的会话session_id都是不一致,为了实现跨域验证码的验证,这个时候需要在接口端设置session_id(随机数),然后把这个随机值返回给前端,到时候验证的时候再设置session_id(随机数),这样会话才能保持一致,验证码才能通过验证;4、由于步骤3设置session_id(随机数)重新生成PHPSESSID后,导致了步骤2登录后台的PHPSESSID被改成了步骤3设置的PHPSESSID,这时候步骤2的登录状态就消失了,直接退出登录。
阅读全文 » 1197天前2021年08月14日
技术饭 阿里云oss与腾讯云cos兼容,阿里云短信与腾讯云短信兼容
阿里云oss与腾讯云cos兼容,阿里云短信与腾讯云短信兼容,项目如果想从阿里云迁移到腾讯云或者从从腾讯云迁移到阿里云,那么必须保证之前的项目能跑通的前提现,再去做迁移,那么这时候需要做的工作就是做使用服务的兼容了,每个平台服务的api接口都不一致,但是也是类似的。
阅读全文 » 1203天前2021年08月08日
技术饭 小程序登录、用户信息相关接口调整说明:getUserInfo:fail scope unauthorized “err_code":"-12007
小程序登录、用户信息相关接口调整说明:getUserInfo:fail scope unauthorized “err_code":"-12007,2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取unionID,2021年4月13日后发布的小程序新版本,无法通过wx.getUserInfo与<button open-type="getUserInfo"/>获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。新增getUserProfile接口(基础库2.10.4版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档:《getUserProfile接口文档》由于getUserProfile接口从2.10.4版本基础库开始支持(覆盖微信7.0.9以上版本),考虑到开发者在低版本中有获取用户头像昵称的诉求,对于未支持getUserProfile的情况下,开发者可继续使用getUserInfo能力。开发者可参考getUserProfile接口文档中的示例代码进行适配。
阅读全文 » 1327天前2021年04月06日
技术饭 阿里云oss上传文件设成了跨域头之后还是显示跨域问题
阿里云oss上传文件设成了跨域头之后还是显示跨域问题,今天碰到奇怪的问题是OSS文件上传只有,需要下载文件的时候,有些文件可以下载有些文件不能下载,奇怪了都是同样的上传接口为什么就跨域了,可是oss也已经设置了JavaScript跨域全部允许了,可还是有些文件跨域。
阅读全文 » 1467天前2020年11月17日
技术饭 vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败
最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。
阅读全文 » 1526天前2020年09月19日
技术饭 网站防刷,防止羊毛党:顶象、数美数据接口配置
最近做了很多的微信活动,特别是答题发红包活动,除了并发量需要处理之外,还有一个很重要的点就是网站防刷、防止羊毛党刷接口,因为微信上羊毛党养了很多的机器微信号,活动如果在只有微信授权的情况下,无法做到完全的限制,即使通过ip来限制也没办法完全限制,因为羊毛党还可以通过模拟定位、模拟ip来访问,只要是正常的微信号还是可以突破防线的,那这时候第三方防刷也是有点必要的。
阅读全文 » 1537天前2020年09月08日
技术饭 微信开放平台中第三方平台api接口的对接与实现
微信开放平台中第三方平台api接口的对接与实现,最近为了做微信开放平台的第三方平台也是花费了两周多的时间,中间碰到各种坑,以前如果要帮助第三方公众号做开放,也是直接把第三方的开发信息改成自己服务器的,但是这样不方便,不同服务商每做一个活动都要重新改一次,所以只能使用公众号授权第三方平台来实现这样的功能了。
阅读全文 » 1548天前2020年08月28日
技术饭 百度地图API报{"status":240,"message":"APP 服务被禁用"},APP服务被禁用
使用百度地图API进行逆地理编码时发现将新建的服务端AK填入到URL中进行访问时返回{“status”:240,“message”:“APP 服务被禁用”};百度给出的结论是自己创建AK时的设置有问题,实际检查设置没有问题;后来发现是新的用户接口更改了了。
阅读全文 » 1559天前2020年08月17日
技术饭 PHP实现微信支付的现金红包、企业付款到零钱功能
企业付款提供由商户直接付钱至用户微信零钱的能力,支持平台操作及接口调用两种方式。具有免费、快速到账、灵活、安全等优点。商户可以使用企业付款,用于如:费用报销、员工福利、用户奖励等。微信红包,2014年春节一推出即受到广大用户好评,引发全民抢红包热潮。现将微信红包打造成“现金红包”,作为一款定向资金发放的营销工具,供商户使用。用户在客户端领取到红包之后,所得金额进入微信钱包,可用于转账、支付或提取到银行卡。
阅读全文 » 1569天前2020年08月07日
技术饭 首先要知道export,import ,export default是什么
ES6模块主要有两个功能:export和import:1、export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口;2、import用于在一个模块中加载另一个含有export接口的模块也就是说使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)。这几个都是ES6的语法。
阅读全文 » 1662天前2020年05月06日
技术饭 判断用户请求频繁度,防止机器请求
判断用户请求频繁度,防止机器请求,订单秒杀、刷票、刷红包等活动,经常有人通过机器来刷,机器一秒请求上百次甚至上千、上万次,那么这个时候正常用户就没法玩了,接口就会被刷爆掉,所以我们在写代码的时候经常需要做很多的验证来防止被刷。
阅读全文 » 1665天前2020年05月03日
技术饭 活动抽现金红包,微信第三方代发红包
最近需要做一个能抽奖发红包的H5活动,用在微信上,本身微信支付自带了发红包功能,但是奈何开通此功能需要微信支付有1个月以上的支付流水,所以就放弃了,然后采用第三方接口实现红包,第三方接口正常的逻辑是:钱充值到第三方平台,其实钱是冲到了第三方的微信支付账号,然后调用第三方接口,第三就给用户发送红包链接,用户点击就可以领取红包啦。
阅读全文 » 1701天前2020年03月28日
技术饭 phpqrcode实现二维码生成
phpqrcode实现二维码生成,对于生成二维码的方式很多,可以使用js库生成、可以使用草料第三方接口生成、当然也可以使用php的插件生成,这里就主要说下php版本的二维码生成,其他方式自行搜索。
阅读全文 » 1703天前2020年03月26日
技术饭 微信支付错误:201 商户订单号重复
微信支付错误:201 商户订单号重复,使用微信支付,在微信支付界面,由于余额不足等原因,没有进行支付并关闭了支付页面,此时订单状态为“待支付”,从业务角度来说,应该允许用户继续支付。但是再次支付时,微信接口返回“201 商户订单号重复”的错误提示。
阅读全文 » 1704天前2020年03月25日
技术饭 使用postman传数组数据
postman是一款强大的本地接口调试工具,我们可以通过它清晰的看到我们数据请求携带的参数和具体数据返回结果,便于我们分析解决问题。在我们做api接口数据调试的时候,大部分是会用到postman的,一般请求数据的参数都是字符串,但是特殊情况下我们是需要传一个数组数据的,那么为了实现这种需求,究竟该怎么做呢?
阅读全文 » 1717天前2020年03月12日
技术饭 postman接口工具设置headers头部的参数不能加下划线
今天做登录接口测试,正常逻辑是登录之后返回一个token给前端,以后前端都是拿着这个token来获取信息数据,正要测试时发现postman接口工具设置headers头部的参数不能加下划线,使用:sponsor_token 参数一直获取不到数据,纳闷了大半天,后来修改成:sponsortoken 就解决问题了。
阅读全文 » 1719天前2020年03月10日
技术饭 reach max api daily quota limit,微信公众号获取access_token次数受限制
reach max api daily quota limit,微信公众号获取access_token次数受限制,微信公众号获取token分为2种,一种是直接获取access_token,一种是用户授权获取access_token。access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
阅读全文 » 1905天前2019年09月06日
技术饭 微信小程序敏感图片(imgSecCheck)、内容检测(msgSecCheck)接口实现
微信小程序敏感图片(imgSecCheck)、内容检测(msgSecCheck)接口实现,主要是为了调用微信小程序msgSecCheck、imgSecCheck接口。
阅读全文 » 1965天前2019年07月08日
技术饭 PHP获取微信小程序二维码、商品二维码、页面二维码
PHP获取微信小程序二维码、商品二维码、页面二维码,在小程序上有三个获取二维码的接口,主要用户不限制的接口:getWXACodeUnlimit,其他两个接口适用少量生成,接口只能生成已发布的小程序的二维码接口 A 加上接口 C,总共生成的码数量限制为 100,000,请谨慎调用。接口 B 调用分钟频率受限(5000次/分钟),如需大量小程序码,建议预生成。
阅读全文 » 2133天前2019年01月21日
技术饭 在https中发ajax请求http被浏览器block
在https中发ajax请求http被浏览器block,从https发送http请求是不可以的,除非对方提供了https的接口。
阅读全文 » 2159天前2018年12月26日
技术饭 thinkphp5.1下ajax跨域请求接口,session公用的解决方法
thinkphp5.1下ajax跨域请求接口,session公用的解决方法,ajax或者app(IOS、安卓)请求接口,php中如果需要登录,则需要设置session,但每一次请求都会重新生成一个session_id,所以session就没法获取跟传递,解决的办法就是生成一个随机数做为session_id,保存这个随机数,每次请求都带上这个随机数,这样每次获取的session就一致了
阅读全文 » 2160天前2018年12月25日
技术饭 微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案,已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用。这是怎么回事呢?遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的。
阅读全文 » 2166天前2018年12月19日
技术饭 redirect_uri 域名与后配置不一致 10003
在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
阅读全文 » 2174天前2018年12月11日
技术饭 thinkphp5分页抓取数据并入库
PHP可以通过curl抓取其他网站接口数据,抓取到的数据量有时候很多,这个时候如果进行入库的话会造成执行时间过长而停止报错500,解决方案有:1、php配置值max_execution_time修改大一些,还有就是nginx的执行时间也可以修改大一些,但这回造成网页一直卡着也很消耗服务器内存;2、进行分页抓取。
阅读全文 » 2237天前2018年10月09日
技术饭 jsonp请求接口php设置返回头部以及js格式化数字
jsonp请求接口php设置返回头部以及js格式化数字,文章主要整理了jsonp请求的php接口的流程并且给出了一些js函数代码,方便处理数据。
阅读全文 » 2441天前2018年03月19日
技术饭 nginx下运行php的程序时返回200访问却是空白页问题的解决方法
这几天一直在研究小程序,开发的差不多的时候吧环境从php5切换到了php7之后发现了很多的问题,比如传入参数没有默认值等造成的问题,但另一个棘手的问题就是:nginx下运行php的程序时返回200访问却是空白页,接口请求成功但是却一直无法返回数据,经过不断反复测试,代码断点测试,最后才发现了问题所在。
阅读全文 » 2455天前2018年03月05日
技术饭 APP请求接口无法获取到session数据的解决方案
APP请求接口无法获取到session数据的解决方案,通过SESSION(cookie是另外一种解决办法)记录用户的有关信息,以供用户再次以此身份对web服务器提起请求时作确认。会话的发明使得一个用户在多个页面间切换时能够保存他的信息。网站编程人员都有这样的体会,每一页中的变量是不能在下一页中使用的(虽然form,url也可以实现,但这都是非常不理想的办法),而SESSION中注册的变量就可以作为全局变量使用了。
阅读全文 » 2725天前2017年06月08日
技术饭 thinkphp开发api接口安全验证解析
thinkphp开发api接口安全验证解析,对于php后端很多时候要开发接口提供给安卓或者IOS使用,那这时候接口的安全验证机制就是一个必要的限制机制了,不然的话,其他人可以随便调用你的接口,这个会造成不可预料的后果。
阅读全文 » 2755天前2017年05月10日
技术饭 app支付接口、wap支付接口实现原理解析(支付宝、微信、连连支付、银联支付)
最近因为公司项目要做支付功能,所以就一直在研究支付接口包括(支付宝、微信、连连支付、银联支付),由于支付接口为了安全性有各种验证,所以看起来比较繁琐,但是认真剖析一下也只有:1、下订单;2、发送数据给第三方支付接口;3、同步回调与异步回调处理数据。
阅读全文 » 2760天前2017年05月04日
技术饭 PHP中json_decode 函数解析 json 结果为 NULL 的解决方案
PHP中json_decode 函数解析 json 结果为 NULL 的解决方案,今天做连连支付接口的时候,接口同步返回的POST值res_data是一个json字符串,但是使用json_decode的时候却返回了null,原因找了许久,后面百度一番才解决这个问题。
阅读全文 » 2783天前2017年04月11日
技术饭 php接口的支付宝接口应该给安卓或IOS返回什么参数?
最近做支付接口,以前做的都是网页支付接口,直接把数据封装然后直接echo出来就可以,但这几天因为没有做过app的支付接口,所以遇到了一些小问题:php接口的支付宝接口应该给安卓或IOS返回什么参数?
阅读全文 » 2789天前2017年04月05日