如何在以Java - spring boot作为后端的angular应用程序中实现captcha。我不能使用谷歌的reCaptcha库,因为托管应用程序的服务器不能访问互联网。
目前,我正在将验证码从Java后端传递到前端,并从用户输入的代码中匹配它,但在测试中,它被发现是一种不安全的方法,因为从后端发送的验证码是文本形式的。
我已经使用google-authenticator在远程服务器上实现了双因素身份验证。查询密码和单验证码后,web控制台登录成功。但是从ssh登录会要求2次验证码。只有连续提供2个totp代码,才能成功登录。
在第一次查询验证码之前,我已经使用ssh -v <user@remotehost>验证了ssh publickey身份验证是否成功。
配置文件/etc/ssh/sshd_config具有以下设置:
# to restrict root login via ssh
PasswordAuthentication no
PermitRootLogin no
# to enable