如何在以Java - spring boot作为后端的angular应用程序中实现captcha。我不能使用谷歌的reCaptcha库,因为托管应用程序的服务器不能访问互联网。
目前,我正在将验证码从Java后端传递到前端,并从用户输入的代码中匹配它,但在测试中,它被发现是一种不安全的方法,因为从后端发送的验证码是文本形式的。
detailRegisterVc.secondTime = {[weak self] time in
self?.secondTime = time
if time != 0 {
self?.getIdentifierBtn.setTitle("\(time)s后获取验证码", for: UIControlState.normal)
self?.countDownTimer = Timer.init(timeInterval: 1, target: self, selector: #selector
希望这是一个acceptable subjective question。我们对您最近的具体经历很感兴趣。 多年来,我们使用“隐藏域”技巧来混淆垃圾邮件,使其无法通过在线表单发送垃圾邮件。特别是,Nfriendly的这个解决方案工作得很好。 然而,随着时间的推移,垃圾邮件变得越来越智能,它不再停止太多。我们在重新设计网站时删除了以前的解决方案,因为它在新的设置中不能很好地工作。垃圾邮件还在继续,尽管垃圾邮件的比率并没有明显上升。 我们希望有一个新的解决方案,阻止至少大多数垃圾邮件,而不必求助于验证码,可能会阻碍用户互动。 lots of good posts on StackOverflow
使用腾讯云短信服务,发送验证码。 堆栈提示:
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at sun.security.ssl.Alerts.getSSLException(Alerts.java:214)
……
at com.github.qcloudsms.SmsSingle