防止向 .net 核心网站提交联系表单 api
prevent submission of contact form to .net core web api
我创建了一个网站,该网站有一个联系表单,可以向我发送电子邮件,我想要实现的操作是,当任何用户(无需登录)提交该联系人时form 在一段时间内防止再次提交该表单,这是为了防止垃圾邮件。
我一直在研究 JWT 令牌,并考虑在用户提交该表单后使用令牌进行验证,但我不知道这是否是一个可能的解决方案,我想知道是否有另一种方法可以做到这一点。
我在后端使用 C# Web Api,在客户端应用程序中使用 Angular 5。
我认为你应该使用 Google recapcha。
因为您提到 Angular 5 用于前端开发。您可以使用此 ngx-recaptcha 在客户端生成验证码,并在后端验证生成的 recapcha 令牌。
流程应该是:
- 用户填写所需表格的信息。
- 用户点击提交按钮(实现了盲目重新验证)。
- 用户点击提交按钮后,Google recaptcha 服务应该会生成一个令牌。
- 在请求中使用 recaptcha 令牌提交用户信息。
- 在后端,验证重新验证码令牌(使用 Google 服务和客户端密码、客户端 ID)
- 如果token有效,将表单信息保存到数据库。
- 如果不是,则阻止该操作。
我创建了一个网站,该网站有一个联系表单,可以向我发送电子邮件,我想要实现的操作是,当任何用户(无需登录)提交该联系人时form 在一段时间内防止再次提交该表单,这是为了防止垃圾邮件。 我一直在研究 JWT 令牌,并考虑在用户提交该表单后使用令牌进行验证,但我不知道这是否是一个可能的解决方案,我想知道是否有另一种方法可以做到这一点。 我在后端使用 C# Web Api,在客户端应用程序中使用 Angular 5。
我认为你应该使用 Google recapcha。
因为您提到 Angular 5 用于前端开发。您可以使用此 ngx-recaptcha 在客户端生成验证码,并在后端验证生成的 recapcha 令牌。
流程应该是:
- 用户填写所需表格的信息。
- 用户点击提交按钮(实现了盲目重新验证)。
- 用户点击提交按钮后,Google recaptcha 服务应该会生成一个令牌。
- 在请求中使用 recaptcha 令牌提交用户信息。
- 在后端,验证重新验证码令牌(使用 Google 服务和客户端密码、客户端 ID)
- 如果token有效,将表单信息保存到数据库。
- 如果不是,则阻止该操作。