当前位置: 首页 > news >正文

网站开发的经验建筑人才市场职称评审

网站开发的经验,建筑人才市场职称评审,精准营销的特征,舆情分析师1、背景年初#xff0c;从外地转移阵地到西安#xff0c;转眼已两个多月。很久不写业务代码了#xff0c;到了新公司#xff0c;条件恶劣到前所未有#xff0c;从需求#xff0c;设计#xff0c;架构#xff0c;实现#xff0c;实施#xff0c;测试#xff0c;bug修… 1、背景  年初从外地转移阵地到西安转眼已两个多月。很久不写业务代码了到了新公司条件恶劣到前所未有从需求设计架构实现实施测试bug修复项目计划制定项目管理全他妈我一个人关键是平台很大很多技术难点时间还又紧要命的是公司销售左派盛行连技术老大都是销售出身直属领导设计出身不懂技术。。。点到为止剩下的大家自行脑补。吐槽归吐槽事儿还是得干程序猿的基本素养不是。于是一个多月996式搞法项目上线了其中包括那个我半天做出来的短信验证码。。。废话大半天终于说到今天的重点了那就言归正传。  对于短信验证码前阵子看到骚窝洞见分享了一篇短信验证码的文章https://insights.thoughtworks.cn/sms-authentication-login-api/感觉可以作为一个最佳实践了老早就决定按照文中观点实践了奈何那阵一直996没时间直到最近才忙里偷闲动手整理。原文不再赘述这里就文中对于短信验证码的关键要点截图如下2.实现  首先直接上解决方案截图  典型的应用层 》 服务层调用架构采用接口层及IOC解耦。我们先看工具库Captcha.Util重点说下ImageCaptchaHelper与MsgCaptchaHelper。图形验证码这里要致敬EdiWang图形验证码直接盗版的他的https://edi.wang/post/2018/10/13/generate-captcha-code-aspnet-core。整个文件中代码太长就不贴了这里只给几个要点(1)生成图形验证码的工程需要标记unsafe如下这是因为图形验证码的生成有部分用到了指针相关熟悉C#的朋友应该对这个背景知识不陌生 不用关心这是啥啥啥照着设置unsafe就成了我他妈压根儿就懒得看这段指针代码就是看了也不一定看得懂。。。2图形验证码的位置调整      代码中XY的值就是验证码构成字符中各个字符的二维偏移量越大偏移就可能越厉害。注释掉的是原来的下边一行是我调整过后的因为实际使用中发现不少情况下会出现字符超出边框界限没法儿认的情况。3噪音线处理 不管是偏移也好噪音线也好本质上都是为了降低OCR识别率。for循环的次数代表噪音线条数条数越多可能就越难辨识。之所以从3到5条随机改为固定2条是因为实际使用时发现当噪音线随机成5条时很多图形验证码基本人眼没法儿辨识没骗过机器估计先把人眼晃瞎喽。  以上就是图形验证码中需要注意或者自己需要调整的几个点。接下来我们看短信验证码的生成   简单粗暴传入短信验证码长度是多少位我就拼接多少个随机生成的数字字符构成满足长度要求的验证码。  接下来是Service层图形验证码、短信验证码的核心逻辑都在这里整个工程就一个服务CaptchaService。首先我们看看服务层依赖   其中内存缓存的作用是缓存图形验证码、短信验证码供后续校验、过期使用带会让详述。这里为了演示核心主题使用了内存缓存如果是大型生产环境尤其是高并发的情况可能需要分布式缓存甚至还可能需要搭配消息队列。core寄宿环境接口目的是为了开发环境或测试环境下直接返回短信验证码的值而无需真实发送短信验证码生产环境再调用第三方运行商发送短信验证码。  接下来我们看图形验证码的请求  可以看见生成随机图形验证码之后以图形验证码类型手机号外加ImgCaptcha前缀拼接作为图形验证码的key缓存图形验证码的值。控制器层的处理如下  拿到短信验证码结果之后以图形验证码二进制流为基础构建FileStreamResult返回。这里需要特别注意的是MemoryStream不能按照最佳实践用using包围起来因为了解MVC或webapi请求处理管道的应该知道当前FileStreamResult返回后并不是立即处理而是在管道的某个阶段及某个特定时候才处理控制器方法的返回结果假如这里using包起来了那控制器方法执行完毕memorystream也就释放了将来FileStreamResult执行时候就会直接异常。   这里没啥好说的就是按照同样的构造键取出图形验证码并与客户端发送过来的比对相同就校验通过。  接下来看看短信验证码的请求  请求短信验证码需要把对应的图形验证码一并随请求发过来。这里额外交代一下图形验证码类型短信验证码类型是需要一一对应的实际业务中我们可能有注册验证码找回密码验证码修改密码验证码各种业务验证码等每种业务验证码对应的图形验证码类型和短信验证码类型应该是对应的如果为了减少错误可以定义两个枚举这里因为是想把验证码做成通用服务所以类型并未根据具体业务定义枚举。回到发送短信验证码的实现上可以看到首先就校验图形验证码图形验证码校验通过的情况下按照与图形验证码Key类似的规则构建短信验证码缓存key并从缓存找是否存在对应的短信验证码缓存对象。如果找到了则说明相同手机号的相同业务已经获取过短信验证码且指定时间内未失效这种情况下是不能获取短信验证码的否则视为短信轰炸直接返回。示例中或者说按照骚窝最佳实践要点中一分钟之内是只能获取一条的 所以我定了60s并做时差提示。假如不存在对应短信验证码则构造短信验证码对象分别设置短信码、创阿金时间为当前时间、校验次数为0并缓存。最后根据当前是开发还是生产环境决定是直接返验证码还是真实发送短信。  最后看短信验证码校验  逻辑蛮简单首先按照指定键取短信验证码缓存取到了再看该缓存对象校验次数如果超过3次了则直接拦截视为暴力攻击。未超过则校验次数累加并比对相同则视为OK。这里需要特别注意的是进程内缓存设置完校验次数就OK了可以不用回写缓存但如果是分布式缓存则需要回写修改过的短信验证码对象至缓存。至此核心逻辑实现部分差不多了接下来我们看实际效果。3.运行效果  首先请求图形验证码  接下来校验此图形验证码。我们先用正确的校验  再用错误的去校验  正确的校验成功错误的校验失败那么校验部分OK了。然后我们看看用此图形验证码去获取短信验证码我们先用错误的图形验证码去校验  好已经失败了那我们换正确的试试   可以看到短信验证码已经发送成功了。我们再发送一次  这时候系统提示获取太频繁了请20s后再。因为我在码字时间过去了点儿所以是20s,这时间是根据当前时间减去短信验证码创建时间在与60s的频率限制求差值来算倒计时的。好现在我们拿刚才的短信验证码去校验  。。。我日码字的这会儿短信验证码缓存过期了。。。算了这次哥从图形验证码开始整连贯的截图吧码字先放一边儿(1)获取图形验证码2校验图形验证码3获取短息验证码4用正确短信验证码校验第1次校验5用错误验证码校验第2次6用错误验证码校验第3次7用正确验证码校验第4次   注意最后几张短信验证码校验的截图结果前3次正确的验证码校验成功错误的校验失败第4次开始因为已经达到校验上线3次所以直接失效了不管验证码正确与否。  好废话的这会儿应该又失效了我们再重现下4.源码  https://github.com/KINGGUOKUN/Captcha.git。整个解决方案是服务化的可以开箱即用。5.总结  我们再回过头来看看骚窝的短信验证码核心要点  这么多要点中本方案有两个没有实现如截图所示同一个手机号在同一时间内可以有多个有效的短信验证码以及第三方api第三方api说的并不明确到底是什么而且如果是集成第三方了那么可能就用不上短信验证码了直接用户名、密码、第三方api就直接了至于另一条同一手机号同一时间内可以有多个有效的短信验证码个人感觉不太实用和必要。假如要实践的话其实也简单方案中短信验证码模型中并不是保存单个短信验证码而是缓存验证码列表就OK了这点不难。  以上便是个人结合骚窝的最佳实践要点个人实践了一道。早就想搞的奈何最近一直996无法言说吧。希望能对各位有用。原文地址https://www.cnblogs.com/guokun/p/11042903.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.huolong8.cn/news/52054/

相关文章:

  • 投资理财网站建设规划书怎样建移动网站
  • 什么网站 是cms系统下载地址wordpress wp head
  • 创建电子商务网站的7个步骤企业网页设计与推广
  • 企业高端网站建设公司网站如何被收录
  • 广州网站建设找哪家网站后台管理系统需求
  • 库车县建设网站做电子元器件的网站
  • 临沭县住房和城乡建设局网站深圳品牌网站设计公司
  • 易云自助建站一直免费的服务器下载
  • 怎么用大淘客做网站东莞活动外包
  • 网站秒收录怎么做的有赞微商城小程序
  • 西安企业网站备案一般得多少天深圳新闻最新事件
  • 招标网站平台天津深圳网站开发定制
  • 游戏开发难还是网站开发难什么网站可以做任务领赏金
  • 上海自适应网站设计郑州网站建设那家好
  • 诸城盟族网站建设网站相关推荐怎么做
  • 网站网站建设平台注册公司是在哪个网站
  • 最新的购物网站 开广告公司叫什么名字好
  • 网站分析怎么做的万维网 网站到期
  • wordpress 导入html网站排名优化价格
  • 网站seo排名优化方法织梦门户网站源码下载
  • 网站制作的网站开发网站设计O2O平台优化
  • 网站访问统计js代码客户管理系统源代码
  • 鲜花网站建设论文网站建设找丿金手指排名
  • wordpress转换中文版怎样进行seo优化
  • 网站主导航设置问题wordpress 文章聚合
  • 手机网站微信登陆wordpress 移动app
  • 精品网站建设费用wordpress整合问答系统
  • 大丰市市城乡建设局网站做一个招聘信息的网站_用什么做网站的软件
  • 舟山建设银行网站中建名城建设有限公司 网站
  • 手机电商网站模板临漳seo整站排名