🍰 一个简单易用的点触验证码, 包含了前端与后端实现
一个简单易用的点触验证码促进你的开发
- 简单 - 约定优于配置, 以最少的配置帮助你专注于业务
- 易扩展 - 通过实现各个验证组件接口,再借助于 ASP.NET Core 依赖注入,轻松扩展自己的验证策略
- 开箱即用 - 使用现有 Web SDK 接入后端验证
- 安全 - 验证图片,效验信息均服务端生成并保存
- 分布式 - 支持通过实现 ICache 接口替换默认本地缓存方案
- 轻松定制 - 简单配置即可自定义过期时间,失效次数,背景图片,字体等
- http://captcha-client.moeci.com/index.html
- 仅供演示, 不稳定, 且非最新版
- 用户名,密码 均为 admin
只需要满足下方其中一条.
- .NET Framework (>= 4.0) 被安装.
- .NET Standard (>= 2.0) 被安装.
推荐使用 NuGet, 在你项目的根目录 执行下方的命令, 如果你使用 Visual Studio, 这时依次点击 Tools -> NuGet Package Manager -> Package Manager Console , 确保 "Default project" 是你想要安装的项目, 输入下方的命令进行安装.
PM> Install-Package SimCaptcha
PM> Install-Package SimCaptcha.AspNetCore
// Startup.cs
// 注意: 省略了部分代码, 只保留主要部分, 详见示例(/examples/EasyAspNetCoreService)
// 仅适用于 SimCaptcha.AspNetCore v0.3.0+
public void ConfigureServices(IServiceCollection services)
{
// 1.重要: 注册验证码配置
services.Configure<SimCaptchaOptions>(Configuration.GetSection(SimCaptchaOptions.SimCaptcha));
// 2.添加 SimCaptcha
services.AddSimCaptcha();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 3.启用 SimCaptcha 中间件
app.UseSimCaptcha();
// 现在
// "https://yourdomain.com/api/SimCaptcha/Img", "https://yourdomain.com/api/SimCaptcha/Check", "https://yourdomain.com/api/SimCaptcha/TicketVerify"
// 将开始工作
}
下方为部署验证码服务端:
docker run -d -p 5004:80 -e ASPNETCORE_URLS="http://*:80" --name simcaptcha-container yiyungent/simcaptcha
注意:若使用 Docker 同时部署验证码服务端,业务(客户)端,
需注意Docker容器隔离,默认容器之间无法网络通信,
需使其在一个网络下,用于客户端访问服务端验证票据,可参考仓库根目录docker-compose.yml
,
同时,若客户端与服务端非同源域名,
需注意跨域问题,Docker下验证码服务端配置文件:/app/appsettings.Docker.json
事实上,若使用 Docker快速部署验证服务端,
则一定要修改/app/appsettings.Docker.json
其中的SimCaptcha.AppList.CorsWhiteList
,添加上你的客户端域名。
- 详细文档(/docs) 文档构建中
- 见示例(/examples)
SimCaptcha | 0.0.1 | 0.1.0 | 0.2.0 |
---|---|---|---|
SimCaptcha.AspNetCore | 0.0.1 | 0.1.0-0.2.0 | 0.3.0 |
sim-captcha-js | 0.0.1-0.0.4 | 0.0.1-0.1.0 | 0.0.1-0.1.0 |
vue-sim-captcha | 0.0.1-0.0.3 | 0.0.1-0.1.1 | 0.0.1-0.1.1 |
SimCaptcha | ||
---|---|---|
SimCaptcha.AspNetCore |
Q: 为什么选择 SimCaptcha ? A: 流行开源验证码及商业验证码 对照表如下:
TODO: 流行开源验证码及商业验证码 对照表
- 运行环境: .NET Framework (>= 4.0) or .NET Standard (>= 2.0)
- 开发环境: Visual Studio Community 2019
- 点触验证码设计参考自 NetCoreVerificationCode,感谢作者 wangchengqun 的贡献
- 验证码默认字体来自:站酷字库,感谢授权
SimCaptcha is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing.
We accept donations through these channels:
SimCaptcha © yiyun, Released under the MIT License.
Authored and maintained by yiyun with help from contributors (list).
GitHub @yiyungent