Tạo và verify captcha trong framework ABP

Source tại: https://github.com/ngotruong09/AbpCaptcha.git Tổng quan Đây là một thư viện tạo captcha được sử dụng trên framework Abp. Các chức năng chính: [x] Tạo captcha [x] Verify captcha Cách sử dụng Install package từ nuget hoặc clone source here để sử dụng: Install-Package AbpCaptcha -Version 1.0.0 Tiếp theo, thêm [DependsOn(typeof(CaptchaModule))] vào class ABP module trong

sequence diagram

Source tại: https://github.com/ngotruong09/AbpCaptcha.git

Tổng quan

Đây là một thư viện tạo captcha được sử dụng trên framework Abp. Các chức năng chính:

  • [x] Tạo captcha
  • [x] Verify captcha

Cách sử dụng

Install package từ nuget hoặc clone source here để sử dụng:

Install-Package AbpCaptcha -Version 1.0.0

Tiếp theo, thêm [DependsOn(typeof(CaptchaModule))] vào class ABP module trong project của bạn.

Sau đó, sử dụng service ICaptchaEngine để GetCaptcha/VerifyCaptcha captcha.

Cách cấu hình

Cấu hình trong file appsettings.json

{"Captcha":{"FontFamilies":["Arial", "Times New Roman"],
    "Timeout":300,
    "Pattern":"abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVXYZW23456789",
    "SizeText":6,
    "DrawLines":4}}

Hoặc trong ConfigureServices :

Configure<CaptchaOptions>(options =>{
     options.FontFamilies = new string[]{"Arial", "Times New Roman"};
     options.Timeout =300;
     options.Pattern ="abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVXYZW23456789";
     options.SizeText =6;
     options.DrawLines =4;});

Ý nghĩa một số tham số cấu hình:

  • FontFamilies : font của captcha (hình);
  • Timeout : thời gian expired của captcha, thời gian chờ người dùng nhập captcha, tính bằng giây;
  • Pattern : các kí tự có thể có mặt trong captcha;
  • SizeText : số lượng kí tự trong captcha;
  • DrawLines : số đường line trong captcha (chủ yếu tạo độ nhiễu)
  • Width : kích thước chiều rộng của hình captcha
  • Height : kích thước chiều dài của hình captcha

Ví dụ một số cấu hình:

{"Captcha":{"FontFamilies":["Arial", "Times New Roman"],
    "Timeout":300,
    "Pattern":"23456789",
    "SizeText":4,
    "DrawLines":5}}
{"Captcha":{"FontFamilies":["Arial", "Times New Roman"],
    "Timeout":300,
    "Pattern":"abcefgh23456789",
    "SizeText":6,
    "DrawLines":3}}

Nguồn: viblo.asia

Bài viết liên quan

7 Cách Tăng Tốc Ứng Dụng React Hiệu Quả Mà Bạn Có Thể Làm Ngay

React là một thư viện JavaScript phổ biến trong việc xây dựng giao diện người d

Trung Quốc “thả quân bài tẩy”: hàng loạt robot hình người!

MỘT CUỘC CÁCH MẠNG ROBOT ĐANG HÌNH THÀNH Ở TRUNG QUỐC Thượng Hải, ngày 13/5 –

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con