- vừa được xem lúc

Tạo và verify captcha trong framework ABP

0 0 5

Người đăng: Ngô Tuấn Trường

Theo Viblo Asia

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 }
}

Bình luận