【问题标题】:how to make CAPTCHA.MVC5 captcha case sensitive in razor Asp.net MVC?如何在 razor Asp.net MVC 中使 CAPTCHA.MVC5 验证码区分大小写?
【发布时间】:2021-09-01 13:30:36
【问题描述】:
我在我的 ASP.NET MVC 项目中使用 captch.mvc5 nuget 包,但是我该怎么做
<div class="row form-group">
@Html.Label("Enter Captcha ", htmlAttributes: new { @class = "control-label col-sm-4" })
<div class="col-offset-4 col-md-8">
@Html.Captcha("Refresh", "Enter Captcha Text", 5, "Is required field", true)
@Html.ValidationMessage("Captchaerror", new { @class = "text-danger" })
</div>
</div>
让它使我的验证码区分大小写和字母数字
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-4
asp.net-mvc-3
captcha
【解决方案1】:
这是我的答案:
--如果您在 MVC 中使用 CAPTCHA.MVC5 NUGET 包 --- 您可以通过以下方式使其字母数字和大小写敏感---
a) 打开 Global.asax 文件。
b) 在 Application_Start() 方法中添加上述代码。
c) 为区分大小写的数据设置ignoreCase = false; 如上所述。
protected void Application_Start()
{
//---Your default code if available ------
//--Captcha--
var captchaManager = (DefaultCaptchaManager)CaptchaUtils.CaptchaManager;
//-- this will generate alphanumeric string------------------
captchaManager.CharactersFactory = () => "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
captchaManager.PlainCaptchaPairFactory = length =>
{
string randomText = RandomText.Generate(captchaManager.CharactersFactory(), length);
bool ignoreCase = false;//This parameter is responsible for ignoring case.
return new KeyValuePair<string, ICaptchaValue>(Guid.NewGuid().ToString("N"),
new StringCaptchaValue(randomText, randomText, ignoreCase));
};
}