做软件,遇到一些通用性的功能,我想绝大多数同学都是去网上(或自己之前的项目中)搜一段代码出来,贴到项目中,修修改改,完成任务。

但身为一个有追求的软件工程师,怎么能一直忍受这种低级的操作呢?插件化,模块化才是正确的选择。

一直想做些事情,做些能让软件开发成为快乐的事情,这段时间比较清闲(求职中...),于是整理了两个图形验证模块,希望对大家的日常开发工作有所帮助。

希望我做的事情能让你的开发工作变得些许轻松,以后还会继续开源一些基础组件,努力让软件开发成为快乐的事情,让天下没有难写的代码。

项目地址:

1.图形校验码生成,校验模块。

项目地址:https://github.com/sonosun/EasyVerificationCode

2.滑图校验,拼图校验,生成,校验模块。

项目地址:https://github.com/sonosun/EasySlideVerification

介绍一下功能及特点:

1.体现了.net core 模块化,插件化开发方式,实现所谓“高内聚”,“低耦合”。

2.充分利用.net core IOC机制,符合面向接口开发原则,可实现功能灵活扩展。

3.数据存储,支持本地内存缓存Redis分布式缓存(分布式系统必备),如果有需要,还可以根据接口,扩展自己的存储方式,比如数据库存储。

4.多运行时支持,在一个模块中,根据不同的目标运行时,引用不同的依赖版本,确保每个运行时下的依赖库,都是最新版本。

5.多环境部署,支持windows,linux,docker部署(其中linux和docker部署时遇到的问题有详细解决方案)。

6.两个项目都已经打包提交到了nuget,可以直接从包管理器中添加依赖,开发使用极其方便。

7.完善的前端支持,提供了VUE前端组件和基于jquery的js类库,方便前端接入。

8.比较完整的使用说明及演示Demo。

下面是示例截图:

1.图形校验码生成,校验模块。

2.滑图校验,拼图校验,生成,校验模块。

为什么是验证码?

1.因为简单,毕竟是自己的第一个开源项目。

2.因为具体通用性,完全不依赖于业务,适用于任何业务场景。

3.因为图形校验功能也几乎是每个有防范意识的项目的标配。

(.net core环境下)图形验证,人机交互,一个不够我给你两个的更多相关文章

  1. .Net Core 环境下构建强大且易用的规则引擎

    本文源码: https://github.com/jonechenug/ZHS.Nrules.Sample 1. 引言 1.1 为什么需要规则引擎 在业务的早期时代,也许使用硬编码或者逻辑判断就可以满 ...

  2. spring Boot环境下dubbo+zookeeper的一个基础讲解与示例

    一,学习背景 1.   前言 对于我们不管工作还是生活中,需要或者想去学习一些东西的时候,大致都考虑几点: a)      我们为什么需要学习这个东西? b)     这个东西是什么? c)      ...

  3. 在Core环境下用WebRequest连接上远程的web Api 实现数据的简单CRUD(附Git地址)

    本文所有的东西都是在dot Net Core 1.1环境+VS2017保证测试通过. 本文接着上次文章接着写的,不了解上篇文章的可能看着有点吃力.我尽量让大家都能看懂.这是上篇文章的连接http:// ...

  4. .NET Core 环境下使用命令行移除某个 nuget 包的具体方法

    .NET Core 使用Nuget包一般是先写入csproj文件,然后下载保存在\bin\Debug\netcoreapp2.0\publish\下,所以可以采用如下方案进行删除操作(其中netcor ...

  5. Ubuntu + Apache2 环境下用C编写 一个简单的cgi脚本

    我只学习过c语言,没有学习过prel,网上很多教程都是针对prel的,很少有针对c的.自己在Ubuntu下鼓捣了一下午,也总算是用c成功编写了一个helloworld的cgi,算是cgi入门的第一步. ...

  6. 在Core环境下用WebRequest连接上远程的web Api 实现数据的简单CRUD(续)

    这篇博客是上篇博客的续写,上篇博客用的是HttpClient取远程数据,用WebRequest提交,更新,删除数据.上篇本来想全文都用httpClient,可是当时无论如何也实现不了数据的提交,于是换 ...

  7. Core1.1环境下,自己实现的一个简单的CRUD框架(反射实现)

    我实现了一个简单的EF框架,主要用于操纵数据库.实现了对数据库的基本操纵--CRUD 这是项目结构 这是一个 core 下的 DLL 写了一个数据库工厂,用于执行sql语句.调用sql语句工厂 写了一 ...

  8. .NET环境下基于RBAC的访问控制

    .NET环境下基于RBAC的访问控制 Access Control of Application Based on RBAC model in .NET Environment 摘 要:本文从目前信息 ...

  9. 关于ARP攻击的原理以及在Kali Linux环境下的实现

    关于ARP攻击的原理以及在Kali Linux环境下的实现 全文摘要 本文讲述内容分为两部分,前半部分讲述ARP协议及ARP攻击原理,后半部分讲述在Kali Linux环境下如何实现ARP攻击以及AR ...

随机推荐

  1. C#算法设计排序篇之08-计数排序(附带动画演示程序)

    计数排序(Counting Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/689 访问. 计数排序是一个非基 ...

  2. iMX283光盘资料 163网盘

    [光盘资料]EasyARM-i.MX280A_283A_287A V1.04(EasyARM-i.MX280A_283A_287A_cd).zip 提取码: y6pnW6sY

  3. K均值聚类和DBSCAN介绍

    K均值(K-means)聚类 问题定义:给定数据$\vec{x}_1,\vec{x}_2,\cdots,\vec{x}_n$,将它们分到不同的$K$个簇(cluster)中.定义$\vec{c}=(c ...

  4. 简谈DFS

    所谓DFS就是“不撞南墙不回头”的一种搜索.其时间复杂度为O(V+E). 能算出从起点到终点的全部路径,在算法执行的过程中需要一个visit[vi]数组来维护每个结点的访问情况,这样就能避免重复访问. ...

  5. mac 安卓生成证书(uniapp项目安卓证书申请)

    mac  安卓生成证书 义务需求: 最近在开发基于uniapp框架的app,到了打包发布的阶段,来尝试打包为安卓的apk安装包.在用HBuild打包的时候需要提供安卓的数字证书(.keystore 文 ...

  6. python去除 数据的 重复行

    原文链接:https://www.cnblogs.com/loren880898/p/11303672.html

  7. 在不影响程序使用的情况下添加shellcode

    参考 在文章Backdooring PE Files with Shellcode中介绍了一种在正常程序中注入shellcode的方式,让程序以前的逻辑照常能够正常运行,下面复现一下并解决几个小问题. ...

  8. 数值分析案例:Newton插值预测2019城市(Asian)温度、Crout求解城市等温性的因素系数

    数值分析案例:Newton插值预测2019城市(Asian)温度.Crout求解城市等温性的因素系数 文章目录 数值分析案例:Newton插值预测2019城市(Asian)温度.Crout求解城市等温 ...

  9. gorm demo

    package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/jinzhu/g ...

  10. 第七篇 Scrum冲刺博客

    一.会议图片 二.任务完成情况 成员 已完成 冯荣新 博客撰写 陈泽佳 自定义图片组件,提交功能 徐伟浩 协助前端获取数据 谢佳余 搜索算法设计 邓帆涛 意见反馈 三.部分代码 <tabs ta ...