使用.Net Core 2.1开发Captcha图片验证码服务
更新后续篇:Captcha服务(后续1)
使用.Net Core 2.1开发Captcha验证码服务
开发工具:Visual Studio 2017 15.7.3
开发平台:64位 Windows 10
目标框架:.NET Core 2.1
完成度:已实现
Github地址:https://github.com/PuzzledAlien/Captcha
准备开发环境,新建项目
安装SDK
打开下载页面 https://www.microsoft.com/net/download/windows
下载对应的SDK,当前版本是2.1 SDK (v2.1.300)
从名字能看出来微软更快迭代更新的想法。下载之后正确安装。这样保证新建项目时可选ASP.NET Core Web应用程序。


使用API模块足以。默认是配置HTTPS,先保持默认不变,看下https怎么配置。点击确定,稍等几秒钟创建项目完成。

查看解决方案资源管理器,发现目录结构异常简洁。先不做任何处理,直接Debug,弹出提示(此项目已配置使用SSL)如下图。

上述截图中sslPort是44303,取消配置HTTPS的方法是将sslPort的值改为0。修改之后就不会走https了,简单明了的逻辑,就问你服不服?!
设计接口
计划两个接口,一个是获取验证码的接口,一个是验证接口。
图片验证码首先是个图片(纯废话),少不了使用一个很流行的绘图API System.Drawing。但是.NET Core平台用不了System.Drawing。代替方案有
- zkweb大牛移植修改mono的System.Drawing。来自博客园的文章推荐.Net Core上用于代替System.Drawing的类库
- 微软官方出的API实现 System.Drawing.Common。来自Damir Dobric的文章推荐How to use System.Drawing in .NET Core?
我选择了微软官方的实现System.Drawing.Common,更新迭代有保障。github可看源码,地址https://github.com/dotnet/corefx/tree/5b7674e4ae5cc782e99f50b2919dfdeb29106a46/src/System.Drawing.Common
不具体写代码逻辑,可详细看Github,自认写的还算结构清晰明了。
部署Windows,IIS+.NET Core 2.1
参考微软官方出版中文文档,微软对中文开发者的友好度越来越高了。
使用 IIS 在 Windows 上托管 ASP.NET Core
环境准备:安装.NET Core 2.1 SDK
根据文章IIS 模块与 ASP.NET Core 提到的最小模块配置
要求运行 ASP.NET Core 应用的模块只有匿名身份验证模块和 ASP.NET Core 模块。
源代码可查看Github https://github.com/aspnet/AspNetCoreModule
打开IIS管理器,点击“模块”,之后点击“打开功能”,查看所有模块,发现缺少ASP.NET Core 模块。



使用 IIS 在 Windows 上托管 ASP.NET Core 提到如何安装该模块。
打开下载页

点击Runtime,.NET Core 2.1 Runtime (v2.1.0)

下载安装。
准备工作搞定。
使用 IIS 在 Windows 上托管 ASP.NET Core 的步骤精简写,如下:
- 发布到目标机器
- 如果没有安装IIS,安装IIS
- 新建站点
- 站点对应的应用程序池基本设置中选择“无托管代码”
- 尝试访问
测试页面如下图,尝试访问:

完工!!
使用.Net Core 2.1开发Captcha图片验证码服务的更多相关文章
- Lumen 实现接口 Captcha图片验证码功能
安装 composer require youngyezi/captcha 使用 新版的包已经删除了 session 支持,完全交给业务自由选择存储方式 个人觉得这样更方便来解耦业务,尤其 Lumen ...
- JMeter开发插件——图片验证码识别
我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...
- Lumen5.7快速实现Captcha图片验证码功能
公司发送短信注册的接口需要防刷,需要一个图形验证码,不考虑收费产品. Lumen5.7+nginx+mysql 使用了这个作者的扩展包,只讲实现.https://github.com/Youngyez ...
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
- 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入
使用react全家桶制作博客后台管理系统 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基 ...
- 少量代码设计一个登录界面 - .NET CORE(C#) WPF开发
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 少量代码设计一个登录界面 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码 ...
- 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码 ...
- .net core 和 WPF 开发升讯威在线客服与营销系统:背景和产品介绍
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf-m.shengxunwei.com ...
- 图片杂乱无章、分享麻烦?HMS Core图片分类服务教你快速筛选、分类、整合相册
如今手机摄影越来越方便,随手一拍就能记录美好生活.但照片越多,整理越麻烦,有的时候我们想对照片进行二次加工.分享,需要不停翻找相册.HMS Core机器学习服务(ML Kit)提供了图片分类服务,方便 ...
随机推荐
- 入门SQL操作
结构化查询语言:SQL:Structured Query Language 分类: 针对的操作对象不同.分成不同的语言: 1.数据操作(管理)语言( DML) 查询:获得数据.(DQL) 管理:增加. ...
- EF学习笔记(十一):实施继承
学习总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上篇链接:EF学习笔记(十) 处理并发 本篇原文链接:Implementing Inheritance 面向对象的世界里, ...
- Python 字符串十六进制流
字符串转十六进制绕过特征检测SQL注入 Python中内置库与出色第三方库的学习 # 字符串转十六进制 mystr = "hello world" print(":&qu ...
- Readme.txt
进入大学,越来越发现自学确实很重要,在学习计算机上,老师上课讲的远远不够,光凭理论是不够的.第一个接触的是VC++6.0这个老版的软件,一节理论课可以过三章内容着实惊吓,现在发现Vscode 可以将代 ...
- Python selenium webdriver设置js操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...
- Ubuntu 16.04下Samba服务器搭建和配置(配截图)
一.相关介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和 ...
- 【渗透攻防】深入了解Windows
前言 本篇是基础教程,带大家了解Windows常用用户及用户组,本地提取用户密码,远程利用Hash登录到本地破解Hash.初步掌握Windows基础安全知识. 目录 第一节 初识Windows 第二节 ...
- Kali学习笔记29:默认安装漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 默认安装漏洞: 早期Windows默认自动开启很多服务 ...
- Windows平台下kafka环境的搭建
近期在搞kafka,在Windows环境搭建的过程中遇到一些问题,把具体的流程几下来防止后面忘了. 准备工作: 1.安装jdk环境 http://www.oracle.com/technetwork/ ...
- js代码跑马灯效果-----轮播图字效果!
文字元素: <p id="yc-msg">你有本事来打我呀!</p> js执行代码: function ycMsg() { // 获取 标签 var pOb ...