国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LazyCaptcha v2(基于SkiaSharp)圖片驗證碼的具體使用(.Net Core5來做示例)

這篇具有很好參考價值的文章主要介紹了LazyCaptcha v2(基于SkiaSharp)圖片驗證碼的具體使用(.Net Core5來做示例)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

以下內(nèi)容均來自Gitee的開源倉庫,具體的使用請移步Gitee:https://gitee.com/pojianbing/lazy-captcha

以下是我自己使用的具體方式

首先安裝NuGet包:

Microsoft.Extensions.Caching.StackExchangeRedis

Lazy.Captcha.Core

?

Lazy.Captcha.Core可以選擇以下方式進行安裝

Package Manager

Install-Package Lazy.Captcha.Core

.NET CLI

dotnet add package Lazy.Captcha.Core

在Startup.cs文件的ConfigureServices方法中配置什么什么方式存儲,我這里使用使用redis分布式緩存,默認使用的是 內(nèi)存存儲(AddDistributedMemoryCache)
? ? ? ? ? ??

//默認使用內(nèi)存存儲(AddDistributedMemoryCache)
//services.AddCaptcha(Configuration);

//如果使用redis分布式緩存
builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = builder.Configuration.GetConnectionString("RedisCache");
    options.InstanceName = "captcha:";
});

然后繼續(xù)在上面所提到的方法中加入以下代碼:

// 全部配置
            services.AddCaptcha(Configuration, option =>
            {
                option.CaptchaType = CaptchaType.WORD; // 驗證碼類型
                option.CodeLength = 4; // 驗證碼長度, 要放在CaptchaType設置后.  當類型為算術表達式時,長度代表操作的個數(shù)
                option.ExpirySeconds = 120; // 驗證碼過期時間
                option.IgnoreCase = true; // 比較時是否忽略大小寫
                option.StoreageKeyPrefix = ""; // 存儲鍵前綴

                option.ImageOption.Animation = true; // 是否啟用動畫
                option.ImageOption.FrameDelay = 60; // 每幀延遲,Animation=true時有效, 默認30

                option.ImageOption.Width = 150; // 驗證碼寬度
                option.ImageOption.Height = 50; // 驗證碼高度
                option.ImageOption.BackgroundColor = SKColors.White; // 驗證碼背景色

                option.ImageOption.BubbleCount = 2; // 氣泡數(shù)量
                option.ImageOption.BubbleMinRadius = 5; // 氣泡最小半徑
                option.ImageOption.BubbleMaxRadius = 15; // 氣泡最大半徑
                option.ImageOption.BubbleThickness = 1; // 氣泡邊沿厚度

                option.ImageOption.InterferenceLineCount = 2; // 干擾線數(shù)量

                option.ImageOption.FontSize = 36; // 字體大小
                option.ImageOption.FontFamily = DefaultFontFamilys.Instance.Actionj; // 字體

                /* 
                 * 中文使用kaiti,其他字符可根據(jù)喜好設置(可能部分轉(zhuǎn)字符會出現(xiàn)繪制不出的情況)。
                 * 當驗證碼類型為“ARITHMETIC”時,不要使用“Ransom”字體。(運算符和等號繪制不出來)
                 */

                option.ImageOption.TextBold = true;// 粗體,該配置2.0.3新增
            });

如果要修改配置參數(shù)去參考上面提到的原文鏈接。

接下來在appsettings.json文件中配置Redis的配置如果沒修改過Redis的默認配置直接復制粘貼上去即可,如果自己修改過就按照自己修改的配置。

"ConnectionStrings": {
    "G6StringDB": "server=.;uid=sa;pwd=123456;database=2010ARbacDB;",
    "RedisCache": "localhost,password=123456"
  },

再加入以下這段代碼,這段代碼也還是圖片驗證碼的參數(shù)配置,如果要修改配置參數(shù)去參考上面提到的原文鏈接。

"CaptchaOptions": {
    "CaptchaType": 5, // 驗證碼類型
    "CodeLength": 4, // 驗證碼長度, 要放在CaptchaType設置后  當類型為算術表達式時,長度代表操作的個數(shù)
    "ExpirySeconds": 60, // 驗證碼過期秒數(shù)
    "IgnoreCase": true, // 比較時是否忽略大小寫
    "StoreageKeyPrefix": "", // 存儲鍵前綴
    "ImageOption": {
      "Animation": false, // 是否啟用動畫
      "FontSize": 32, // 字體大小
      "Width": 100, // 驗證碼寬度
      "Height": 40, // 驗證碼高度
      "BubbleMinRadius": 5, // 氣泡最小半徑
      "BubbleMaxRadius": 10, // 氣泡最大半徑
      "BubbleCount": 3, // 氣泡數(shù)量
      "BubbleThickness": 1.0, // 氣泡邊沿厚度
      "InterferenceLineCount": 4, // 干擾線數(shù)量
      "FontFamily": "kaiti", // 包含actionj,epilog,fresnel,headache,lexo,prefix,progbot,ransom,robot,scandal,kaiti
      "FrameDelay": 15, // 每幀延遲,Animation=true時有效, 默認30
      "BackgroundColor": "#ffff00", //  格式: rgb, rgba, rrggbb, or rrggbbaa format to match web syntax, 默認#fff
      "ForegroundColors": "", //  顏色格式同BackgroundColor,多個顏色逗號分割,隨機選取。不填,空值,則使用默認顏色集
      "Quality": 100, // 圖片質(zhì)量(質(zhì)量越高圖片越大,gif調(diào)整無效可能會更大)
      "TextBold": false // 粗體,該配置2.0.3新增
    }
  }

接下來就是在你登錄的邏輯中加入驗證碼對比功能

首先使用構(gòu)造函數(shù)的注入方式將ICaptcha分布式緩存進行依賴注入

private readonly ICaptcha _captcha;

        /// <summary>
        /// 
        /// </summary>
        /// <param name="captcha"></param>
        public CaptchaController(ICaptcha captcha)
        {
            _captcha = captcha;
        }

然后通過

/// <summary>
        /// 獲取驗證碼
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [HttpGet("ICaptcha")]
        public IActionResult Captcha(string id)
        {
            var info = _captcha.Generate(id);
            // 有多處驗證碼且過期時間不一樣,可傳第二個參數(shù)覆蓋默認配置。
            //var info = _captcha.Generate(id,120);
            var stream = new MemoryStream(info.Bytes);
            return File(stream, "image/gif");
        }

獲取到圖片驗證碼文件流返回給前端進行顯示。

最后用下面的代碼將驗證后的結(jié)果返回判斷驗證碼是否對比成功。

/// <summary>
        /// 多次校驗(https://gitee.com/pojianbing/lazy-captcha/issues/I4XHGM)
        /// 演示時使用HttpGet傳參方便,這里僅做返回處理
        /// </summary>
        [HttpGet("IValidate2")]
        public IActionResult Validate2(string id, string code)
        {
            var rul= _captcha.Validate(id, code, false);
            return Ok(new
            {
                rul
            });
        }

?圖片驗證碼中的驗證內(nèi)容是存儲在Redis中的。

這樣就可以去使用了,僅供參考,如遇到問題去看原文鏈接。文章來源地址http://www.zghlxwxcb.cn/news/detail-708552.html

到了這里,關于LazyCaptcha v2(基于SkiaSharp)圖片驗證碼的具體使用(.Net Core5來做示例)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Selenium破解滑動驗證碼的原理及解決思路

    ?? 視頻學習: 文末有免費的配套視頻可觀看 ??? 點擊文末小卡片 ,免費獲取軟件測試全套資料,資料在手,漲薪更快 ?1、獲取頁面元素信息: 使用Selenium打開目標網(wǎng)頁,并通過相關方法獲取滑塊、背景圖等元素的位置和屬性信息。可以使用Selenium提供的定位方法(如xpa

    2024年02月20日
    瀏覽(94)
  • 織夢DedeCms取消后臺登陸驗證碼的方法示例

    首先模擬會員登錄和退出,有兩個重要文件,一個是include下的memberlogin.class.php和include/helpers下的cache.helper.php文件。 原理為:memberlogin.class.php通過使用緩存助手 helper(\\\'cache\\\'),然后/member/config.php 文件引入memberlogin.class.php文件實現(xiàn)模擬登錄和退出。 模擬會員登錄代碼 引入/memb

    2024年02月02日
    瀏覽(24)
  • Python scrapy爬取帶驗證碼的列表數(shù)據(jù)

    首先所需要的環(huán)境:(我用的是Python2的,可以選擇python3,具體遇到的問題自行解決,目前我這邊幾百萬的數(shù)據(jù)量爬?。?環(huán)境: 直接貼代碼具體需要注意的特殊顏色標出有注釋 pipelines存數(shù)據(jù)庫這個就不說了根據(jù)自己的業(yè)務 注:目前我網(wǎng)站驗證碼比較簡單可以直接使用pytess

    2024年01月18日
    瀏覽(15)
  • 使用隧道HTTP時如何解決網(wǎng)站驗證碼的問題?

    使用隧道HTTP時如何解決網(wǎng)站驗證碼的問題?

    使用代理時,有時候會遇到網(wǎng)站驗證碼的問題。驗證碼是為了防止機器人訪問或惡意行為而設置的一種驗證機制。當使用代理時,由于請求的源IP地址被更改,可能會觸發(fā)網(wǎng)站的驗證碼機制。以下是解決網(wǎng)站驗證碼問題的幾種方法: 1. 使用高匿代理服務器:選擇高匿代理服務

    2024年02月14日
    瀏覽(17)
  • 使用Selenium破解滑動驗證碼的原理及解決思路

    使用Selenium破解滑動驗證碼的原理及解決思路

    1、獲取頁面元素信息: 使用Selenium打開目標網(wǎng)頁,并通過相關方法獲取滑塊、背景圖等元素的位置和屬性信息??梢允褂肧elenium提供的定位方法(如xpath、CSS選擇器等)來找到這些元素。 可以使用find_element_by_xpath或find_element_by_css_selector等方法來獲取滑塊和背景圖元素的位置和

    2024年02月09日
    瀏覽(103)
  • Python爬蟲之極驗滑動驗證碼的識別

    Python爬蟲之極驗滑動驗證碼的識別

    上節(jié)我們了解了可以直接利用 tesserocr 來識別簡單的圖形驗證碼。近幾年出現(xiàn)了一些新型驗證碼,其中比較有代表性的就是極驗驗證碼,它需要拖動拼合滑塊才可以完成驗證,相對圖形驗證碼來說識別難度上升了幾個等級。本節(jié)將講解極驗驗證碼的識別過程。 1. 本節(jié)目標 我們

    2024年02月22日
    瀏覽(28)
  • 【開發(fā)篇】十、Spring緩存:手機驗證碼的生成與校驗

    【開發(fā)篇】十、Spring緩存:手機驗證碼的生成與校驗

    緩存是一種 介于數(shù)據(jù)永久存儲介質(zhì)與數(shù)據(jù)應用之間 的數(shù)據(jù) 臨時存儲 介質(zhì) 使用緩存可以有效的 減少低速數(shù)據(jù)讀取過程的次數(shù)(例如磁盤IO) ,提高系統(tǒng)性能 緩存不僅可以用于提高永久性存儲介質(zhì)的數(shù)據(jù)讀取效率,還可以 提供臨時的數(shù)據(jù)存儲空間 注意最后這條, 緩存的不一

    2024年02月07日
    瀏覽(20)
  • DedeCMS織夢自定義表單增加驗證碼的實例代碼

    DedeCMS織夢驗證碼主要的作用就是防止一些用戶的惡意提交,在很多的地方都會有驗證碼的出現(xiàn),自定義表單也是在很多的地方都需要用到,但是默認的自定義表單是沒有驗證碼的,這里介紹的方法就可以讓大家自己添加驗證碼的功能。 ? 1、先進入DedeCMS后臺生成自定義表單。

    2024年02月03日
    瀏覽(21)
  • selenium的滑塊驗證碼的模擬登錄(豬八戒網(wǎng)站)

    selenium的滑塊驗證碼的模擬登錄(豬八戒網(wǎng)站)

    一、登錄網(wǎng)址跳轉(zhuǎn)到滑塊驗證碼界面 登錄網(wǎng)址: url=https://account.zbj.com/login 先拿到這個標簽,在跳轉(zhuǎn)到滑塊驗證碼界面。 跳轉(zhuǎn)出的結(jié)果圖: ?二、驗證碼圖片的處理 驗證碼圖片有缺口圖、滑塊圖、完整圖,三張構(gòu)成。 邏輯思想:1.讓滑塊隱藏,截取缺口圖; ???????????

    2023年04月09日
    瀏覽(29)
  • 對有驗證碼的后臺網(wǎng)頁進行爆破-captcha-killer-modified

    對有驗證碼的后臺網(wǎng)頁進行爆破-captcha-killer-modified

    實例:以pikachu靶場為目標 攻擊目標url:http://xxxx/pikachu-master/vul/burteforce/bf_server.php(xxxx為自己的靶機地址,我的就是127.0.0.1) 攻擊目標的驗證碼圖片接口的url:http://127.0.0.1/pikachu-master/inc/showvcode.php 通過burp工具抓包(設置burp代理之后,點擊login抓包包) 右擊選擇發(fā)送到captcha

    2024年02月08日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包