overview
This is a captcha generator library used on the Abp framework. Main fuction:
- [x] Create captcha
- [x] Verify captcha
Using
Install package from nuget or clone source here to use:
1 2 | Install-Package AbpCaptcha -Version <span class="token number">1.0</span> .0 |
Next, add [DependsOn(typeof(CaptchaModule))]
to the ABP module class in your project.
Then use service ICaptchaEngine
to GetCaptcha/VerifyCaptcha
captcha.
How to configure
Configuration in the file appsettings.json
1 2 3 4 5 6 7 8 9 10 | <span class="token punctuation">{</span> <span class="token string">"Captcha"</span> <span class="token builtin class-name">:</span> <span class="token punctuation">{</span> <span class="token string">"FontFamilies"</span> <span class="token builtin class-name">:</span> <span class="token punctuation">[</span> <span class="token string">"Arial"</span> , <span class="token string">"Times New Roman"</span> <span class="token punctuation">]</span> , <span class="token string">"Timeout"</span> <span class="token builtin class-name">:</span> <span class="token number">300</span> , <span class="token string">"Pattern"</span> <span class="token builtin class-name">:</span> <span class="token string">"abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVXYZW23456789"</span> , <span class="token string">"SizeText"</span> <span class="token builtin class-name">:</span> <span class="token number">6</span> , <span class="token string">"DrawLines"</span> <span class="token builtin class-name">:</span> <span class="token number">4</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |
Or in ConfigureServices
:
1 2 3 4 5 6 7 8 9 | Configure <span class="token operator"><</span> CaptchaOptions <span class="token operator">></span> <span class="token punctuation">(</span> options <span class="token operator">=</span> <span class="token operator">></span> <span class="token punctuation">{</span> options.FontFamilies <span class="token operator">=</span> new string <span class="token punctuation">[</span> <span class="token punctuation">]</span> <span class="token punctuation">{</span> <span class="token string">"Arial"</span> , <span class="token string">"Times New Roman"</span> <span class="token punctuation">}</span> <span class="token punctuation">;</span> options.Timeout <span class="token operator">=</span> <span class="token number">300</span> <span class="token punctuation">;</span> options.Pattern <span class="token operator">=</span> <span class="token string">"abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVXYZW23456789"</span> <span class="token punctuation">;</span> options.SizeText <span class="token operator">=</span> <span class="token number">6</span> <span class="token punctuation">;</span> options.DrawLines <span class="token operator">=</span> <span class="token number">4</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Meaning of some configuration parameters:
FontFamilies
: font of captcha (image);Timeout
: captcha expiration time, time to wait for user to enter captcha, in seconds;Pattern
: the characters that can be present in the captcha;SizeText
: the number of characters in the captcha;DrawLines
: the number of lines in the captcha (mainly creating noise)Width
: the size of the width of the captchaHeight
: length size of captcha- …
Some examples of configurations:
1 2 3 4 5 6 7 8 9 10 | <span class="token punctuation">{</span> <span class="token string">"Captcha"</span> <span class="token builtin class-name">:</span> <span class="token punctuation">{</span> <span class="token string">"FontFamilies"</span> <span class="token builtin class-name">:</span> <span class="token punctuation">[</span> <span class="token string">"Arial"</span> , <span class="token string">"Times New Roman"</span> <span class="token punctuation">]</span> , <span class="token string">"Timeout"</span> <span class="token builtin class-name">:</span> <span class="token number">300</span> , <span class="token string">"Pattern"</span> <span class="token builtin class-name">:</span> <span class="token string">"23456789"</span> , <span class="token string">"SizeText"</span> <span class="token builtin class-name">:</span> <span class="token number">4</span> , <span class="token string">"DrawLines"</span> <span class="token builtin class-name">:</span> <span class="token number">5</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |
1 2 3 4 5 6 7 8 9 10 | <span class="token punctuation">{</span> <span class="token string">"Captcha"</span> <span class="token builtin class-name">:</span> <span class="token punctuation">{</span> <span class="token string">"FontFamilies"</span> <span class="token builtin class-name">:</span> <span class="token punctuation">[</span> <span class="token string">"Arial"</span> , <span class="token string">"Times New Roman"</span> <span class="token punctuation">]</span> , <span class="token string">"Timeout"</span> <span class="token builtin class-name">:</span> <span class="token number">300</span> , <span class="token string">"Pattern"</span> <span class="token builtin class-name">:</span> <span class="token string">"abcefgh23456789"</span> , <span class="token string">"SizeText"</span> <span class="token builtin class-name">:</span> <span class="token number">6</span> , <span class="token string">"DrawLines"</span> <span class="token builtin class-name">:</span> <span class="token number">3</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |