.net core第三方图形验证

2023-12-01

asp.net core是否提供第三方图形验证库的示例?我正在研究这个,但我查了一些资料但没有成功,请给我一些例子!谢谢。 供我参考,还有其他好的库吗?

https://tutexchange.com/how-to-implement-captcha-in-asp-net-core/


您可以使用Bitmap库生成图形验证码。首先,创建一个生成的工具类。代码如下:

public class VerifyCodeHelper
    {
        public static Bitmap CreateVerifyCode(out string code)
        {
            //Create a Bitmap object and draw
            Bitmap bitmap = new Bitmap(200, 60);
            Graphics graph = Graphics.FromImage(bitmap);
            graph.FillRectangle(new SolidBrush(Color.White), 0, 0, 200, 60);
            Font font = new Font(FontFamily.GenericSerif, 48, FontStyle.Bold, GraphicsUnit.Pixel);
            Random r = new Random();
            string letters = "0123456789";

            StringBuilder sb = new StringBuilder();

            //Add random 4 numbers
            for (int x = 0; x < 4; x++)
            {
                string letter = letters.Substring(r.Next(0, letters.Length - 1), 1);
                sb.Append(letter);
                graph.DrawString(letter, font, new SolidBrush(Color.Black), x * 38, r.Next(0, 15));
            }
            code = sb.ToString();

            //Confuse the background
            Pen linePen = new Pen(new SolidBrush(Color.Black), 2);
            for (int x = 0; x < 6; x++)
                graph.DrawLine(linePen, new Point(r.Next(0, 199), r.Next(0, 59)), new Point(r.Next(0, 199), r.Next(0, 59)));
            return bitmap;
        }

    }

努吉特包:

<ItemGroup>
    <PackageReference Include="System.Drawing.Common" Version="6.0.0" />
  </ItemGroup>

控制器:

 [ApiController]
    public class VerifyCodeController : Controller
    {
        private readonly IDistributedCache _distributedCache;

        public VerifyCodeController(IDistributedCache distributedCache)
        {
            _distributedCache = distributedCache;
        }

        [Route("get_captcha")]
        public Object VerifyCode()
        {
            string code = "";
            Bitmap bitmap = VerifyCodeHelper.CreateVerifyCode(out code);
            _distributedCache.SetString("code", code);

            base.HttpContext.Session.SetString("CheckCode", code);
            MemoryStream stream = new MemoryStream();
            bitmap.Save(stream, ImageFormat.Gif);
            return File(stream.ToArray(), "image/gif");
        }
    }

startup.cs配置:(如果api调用异常,请仔细检查配置)

public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddDistributedMemoryCache();
            services.AddSession(options => {
                options.IdleTimeout = TimeSpan.FromMinutes(1);
            });
            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseStaticFiles();
            app.UseSession();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }

调用 get_captcha 路由:

enter image description here

更多自定义用法可以参考这篇文章:

.Net Core Bitmap 位图处理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.net core第三方图形验证 的相关文章

  • ASP.net C#,采用不同参数类型的同名方法[重复]

    这个问题在这里已经有答案了 可能的重复 可以在 ASP Net MVC 中重载控制器方法吗 https stackoverflow com questions 436866 can you overload controller metho
  • ASP.NET Core 基于自定义策略的授权 - 不清楚

    好的 ASP NET Core 中基于自定义策略的授权 我有点理解这个新身份框架的想法 但仍然不是 100 清楚你可以用它实现什么 假设我们在 HomeController 中有一个名为 List 的 Action 此操作将查询并显示数据库
  • asp.net core / kestrel中的线程管理

    我正在解决我们已迁移到 asp net core 2 0 的 asp net 应用程序的性能 可扩展性问题 我们的应用程序作为应用程序服务托管在 azure 上 并且在任何中等流量的情况下都很容易崩溃 让我困惑的一件事是如何处理多个并发请求
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 如何将 SPA 嵌入 ASP.NET Core 库并从路径提供服务

    Szenario 我想构建一个 aspnetcore 库 模块includes一个小的SPA前端 IE html js css 文件应与 dll 一起提供 SPA 应从特定路径提供服务 即 some module does not需要可配置
  • GridView 模板列有条件设置为只读

    有没有办法将 GridView 上的模板列从代码隐藏设置为只读 就像如果测试Admin true make readonly false else readonly true 我发现穆罕默德 阿赫塔尔的答案几乎是正确的 只是我需要在我的案例
  • 如何从重定向的查询字符串中删除项目?

    在我的基页中 我需要从查询字符串中删除一个项目并重定向 我不能使用 Request QueryString Remove foo 因为该集合是只读的 有没有什么方法可以获取查询字符串 除了该一项 而无需迭代集合并重新构建它 您可以通过处理原
  • global.asax 范围和生命周期澄清

    我需要在我当前正在进行的项目中实现多个应用程序级行为 有几件事我需要弄清楚 1 在哪里以及如何定义应用程序级变量 2 这些变量的生命周期是多长 或者更准确地说 在什么情况下它们会被丢弃 应用程序池回收 应用程序二进制文件从内存中删除并在下一
  • 从 javascript 调用 HttpHandler

    我有一个简单的页面 带有通过 JavaScript 调用 HttpHandler 的按钮 HttpHandler 获取大量文件并将它们添加到 zip 文件中 完成工作后 zip 文件将添加到 Response 中 此操作可能需要几分钟时间
  • 如何将现有 ASP.NET 网站转换为 HTML 5

    我有一个网站 首先由 Visual Studio 2005 创建 然后转换为 Visual Studio 2008 目前使用 Visual Studio 2008 在 Visual Studio 2010 Service Pack 1 之后
  • 如何从 ASP.net 网站写入 OutputDebugString?

    我需要从网站上的代码输出一些调试信息 我怎样才能打电话OutputDebugString来自 ASP net 网站 并将其显示给运行 DbgView 的用户 Note 网站不支持System Diagnostics Trace TraceW
  • 在 Mac 上开发和测试 ASP.NET 的应用程序 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我开始学习一些asp net 所以我正在寻找一个使用mac 开发asp net 的应用程序 我知道 D
  • 在 Asp.Net MVC 视图中使用 dropdownlistfor 和 foreach 吗?

    我有一个带有 foreach 循环的视图 用于模型的列表属性 现在 我希望能够让用户使用下拉列表设置列表中每个项目的值 但我不知道该怎么做 当它不在 foreach 循环中时 我使用过类似的东西 Html DropDownListFor m
  • 禁用 ASP.net 文本框而不实际禁用它?

    在我的 ASP Net 应用程序中 有一个文本框可以从CalendarExtender 填充文本框后 它会将该日期与表单上的另一个日期进行检查并显示modalpopupextender如果日期错误 则会弹出窗口 但是 我不想允许用户输入此文
  • 从.net Core WebApi中的startup.cs访问HttpContextAccessor

    我正在将异常记录到 asp net core 中的数据库中 MyDbContext 采用 HttpContextAccessor 参数 因此 我将 HttpContextAccessor 发送到 MyDbContext cs 以访问我的 J
  • 即使通过 ssl,在 ViewState 中存储信用卡和定价信息是否安全?

    我有一个带有私有属性的页面 该页面在视图状态中存储信用卡对象和购物车对象 以便我可以在回发期间维护对它们的引用 顺便说一句 涉及的页面将使用 SSL 这安全吗 我不会在视图状态中存储敏感信息 ever 通过这样做 您将安全性委托给浏览器的实
  • 从呈现的控件 ID 中删除 ctl00$ContentBody$

    我对现有的应用程序进行了一些更改 该应用程序以前只是简单的 HTML 和 Javascript 为了添加服务器端功能 我选择了 ASP NET 并利用了母版页概念 不幸的是 在一个巨大的 Web 表单上 控件 ID 全部被 ctl00 Co
  • 向特定客户端发送消息以及消息发送用户

    我是 SignalR 的初学者 我创建了一个基于 SignalR 的基本聊天应用程序 我面临的问题是我想向特定客户端以及发送消息的用户发送消息 这个怎么做 我知道要向特定客户端发送消息 我们可以这样做 Clients Client Cont

随机推荐

  • CMake链接外部库

    首先 我是 CMake 的新手 我刚刚开始使用它 我想将外部库链接到我的项目 我使用我从中获取的代码CMake 维基 在文章末尾 这是我的 CMakeLists txt cmake minimum required VERSION 2 8
  • 如何使用检查器测试此应用实例? (没有 CoArbitrary 实例(验证 e0 [Char]))

    Checkers是一个可重用 QuickCheck 属性的库 特别是 标准类型类 如何编写一个检查器实例来测试我的验证应用实例是否有效 import Test QuickCheck import Test QuickCheck Checke
  • 如何使用 Postgresql 生成从当前日期算起的 52 周

    如何使用 postgresql 生成从当前日期算起的 52 周 例如 从 current date 即今天的日期 到 52 周 您可以使用生成系列它允许您定义范围 开始 停止 以及步骤间隔 例如 生成系列 开始日期 结束日期 stepBy
  • 如何将继承的小部件传递给整个 Material 应用程序

    所以我有一个继承的小部件 如下所示 class InheritedStateWidget extends StatefulWidget final Widget child InheritedStateWidget required thi
  • Selenium 2.53.5 httplib.BadStatusLine:''Python

    我正在尝试使用 Python 2 7 中的 Selenium 2 53 5 以在线表单自动注册序列号 该脚本已经运行了 2 个多月 但昨天我在运行它时开始收到错误 httplib BadStatusLine 有任何已知的修复方法吗 我读过前
  • 所有类方法都返回自动释放的对象吗?

    我正在重读 Mac OS X 的 Cocoa 编程 的前几章 作者指出其中之一NSCalendarDate的类方法返回一个自动释放的对象 我总是假设所有类方法都返回一个自动释放的对象 因为没有alloc涉及 是否有必须专门保留的类方法 Th
  • 当输入不匹配的字符串时,Scanf 在 while 循环中不起作用

    我正在使用一个名为的函数检查类型检查用户是否输入了有效的整数类型输入 例如 如果用户输入 15 它将打印valid15c 将打印无效 但是 如果用户仅输入字符串输入 例如ccccc 它会导致无限循环并且程序崩溃 我在下面添加了一些屏幕截图来
  • 在 $(window).load() 函数内运行 jQuery,但不在 $(document).ready 函数内运行

    我有一个现有的函数 可以使用 jQuery UI 位置插件在网页中显示图标 该函数位于 HTML 的页脚部分附近 尽管在某些地方它在头部部分输出 有人建议我在 window load 函数中加载这个 jQuery 原因是 document
  • 如何在 R 中导入 CSV 文件? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我有一个 csv文件在我的工作站中 如何在 R 中打开该文件并进行统计计算 你会使用re
  • .htaccess 重写 url 到页面或目录

    对于我的网站 我有一个指向 URL 的 RewriteRulehttp www mysite com work到 work php 文件 我还有一个名为 work 的目录 其中包含文件 例如project1 php project2 php
  • cuda 上的矢量步加法速度较慢

    我正在尝试在 CUDA C 代码上运行向量步加法函数 但对于大小为 5 000 000 的大型浮点数组 它的运行速度比我的 CPU 版本慢 下面是我所说的相关CUDA和cpu代码 define THREADS PER BLOCK 1024
  • 强制 iPhone 应用程序以编程方式重新启动?

    我试图让我的 iPhone 应用程序在按下 注销 按钮时以编程方式重新启动 有人有代码示例可以分享吗 我读到可以通过修改 main m 文件来实现 但我找不到与此相关的任何代码 任何帮助 将不胜感激 Note 尽管这已被回答为 不可能 但我
  • 在不同的 AppDomain 中加载具有依赖项的程序集

    我的目标是在两个给定文件夹之间进行缺失的依赖关系检查 想象一下以下设置 根目录 DirA A dll 根 DirB B dll B 取决于 A 因此 给定这些文件夹 我想创建一个新的 AppDomain 加载 B dll 并在该新 AppD
  • 正则表达式选项匹配多行并忽略大小写

    我有一些格式错误的 html 有时缺少 此外 它有时显示大写字母 有时显示小写字母 div class main div class subsection1 h2 div class subwithoutquote StackOverflo
  • 使用 printf() 流式传输 void 函数的输出

    我想存储函数的输出 matrix output printf 打印以下输出 矩阵 0 1 2 1 2 3 2 3 4 我想将此输出保存在文本文件中 在第一次尝试中 我修改了原来的matrix output fprintf 以便它连续使用存储
  • 写入文件时出现 UnicodeDecodeError

    我知道这是一个非常常见的错误 但这是我在尝试写入文件时第一次遇到它 我在用着networkx使用图形进行网络分析 当我尝试写入任何格式时 nx write gml G Graph gml nx write pajek G Graph net
  • 这个代码是什么? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 举个例子 这里有一行 returned Obfuscated 0D 03 1E 0B 1
  • EnterKey 有时在 IE8 中不起作用,使用 jQuery 的 keyPressed

    在我的 HTML 中 CSS edit field height 50px width 495px line height 3 6 html
  • Winforms 禁用文本框上的键盘输入但保持文本框启用

    场景是这样的 我需要禁用文本框以接受用户的输入通过键盘 但文本框应该使用类似的设备来接受输入条码读取器 我想持有一个计时器并获取两次击键之间的时间跨度 尚不清楚 但也许有一个属性或更智能的算法可以实现这一点 附注它是一个 Windows 窗
  • .net core第三方图形验证

    asp net core是否提供第三方图形验证库的示例 我正在研究这个 但我查了一些资料但没有成功 请给我一些例子 谢谢 供我参考 还有其他好的库吗 https tutexchange com how to implement captch