开源软件名称(OpenSource Name):ArgoZhang/SliderCaptcha开源软件地址(OpenSource Url):https://github.com/ArgoZhang/SliderCaptcha开源编程语言(OpenSource Language):JavaScript 69.3%开源软件介绍(OpenSource Introduction):Slider CaptchaEnglish | 中文 The user completes the verification by dragging the slider to support the PC and mobile terminals. The time, accuracy and sliding trajectory information of user dragging behavior can be sent to the server, and then the background algorithm verification can be carried out. Blazor Versionhttp://blazor.sdgxgz.com/captchas Online DemonstrationSingle page presentation: http://longbowenterprise.gitee.io/slidercaptcha/ ScreenshotQuick StartDependenciesfont-awesome CSS<link href="https://cdn.bootcss.com/font-awesome/5.7.2/css/all.min.css">
<link href="./src/slidercaptcha.css"> Copy-paste the stylesheet JS<script src="./src/longbow.slidercaptcha.js"></script> Place the following Usage<div id="captcha"></div> APIJavaScript behavior<div id="captcha"></div>
<script>
sliderCaptcha({
id: 'captcha'
});
</script> Options<div id="captcha"></div>
<script>
sliderCaptcha({
id: 'captcha',
width: 280,
height: 150,
sliderL: 42,
sliderR: 9,
offset: 5,
loadingText: 'Loading...',
failedText: 'Try again',
barText: 'Slide right to fill',
repeatIcon: 'fa fa-redo',
setSrc: function () {
},
onSuccess: function () {
},
onFail: function () {
},
onRefresh: function () {
}
});
</script>
Methods<div id="captcha"></div>
<script>
var captcha = sliderCaptcha({
id: 'captcha'
});
captcha.reset();
</script>
EventsNone IssuePlease go to Issue page to create issue Verify On Server SideClient Code Example1. JavaScriptverify: function (arr, url) {
var ret = false;
$.ajax({
url: url,
data: JSON.stringify(arr),
async: false,
cache: false,
type: 'POST',
contentType: 'application/json',
dataType: 'json',
success: function (result) {
ret = result;
}
});
return ret;
}
sample code sliderCaptcha({
id: 'captcha',
repeatIcon: 'fa fa-redo',
setSrc: function () {
return 'https://imgs.blazor.zone/images/Pic' + Math.round(Math.random() * 136) + '.jpg';
},
onSuccess: function () {
window.location.href = 'https://gitee.com/LongbowEnterprise/SliderCaptcha';
},
remoteUrl: "api/Captcha"
}); Server Code Example1. NETCore WebApi/// <summary>
/// slider verify web api
/// </summary>
[Route("api/[controller]")]
[ApiController]
[AllowAnonymous]
public class CaptchaController : ControllerBase
{
/// <summary>
/// 服务器端滑块验证方法
/// </summary>
/// <returns></returns>
[HttpPost]
public bool Post([FromBody]List<int> datas)
{
var sum = datas.Sum();
var avg = sum * 1.0 / datas.Count;
var stddev = datas.Select(v => Math.Pow(v - avg, 2)).Sum() / datas.Count;
return stddev != 0;
}
} 2. JAVA SpringBootYou may have precision problems, but you can use BigDecimal optimization @RestController
@RequestMapping("/sliderCaptcha")
public class SliderCaptchaController {
@PostMapping("/isVerify")
public boolean isVerify(List<Integer> datas) {
int sum = 0;
for (Integer data : datas) {
sum += data;
}
double avg = sum * 1.0 / datas.size();
double sum2 = 0.0;
for (Integer data : datas) {
sum2 += Math.pow(data - avg, 2);
}
double stddev = sum2 / datas.size();
return stddev != 0;
}
} Q&AContribution
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论