laravel - 如何使用 vue 和 laravel 防止垃圾邮件?

标签 laravel vue.js

这纯粹是一个关于 vue 和 laravel 的理论/主观问题。

我需要使用 vue 和 laravel 防止公共(public)表单/输入上的垃圾邮件,即用户实际登录应用程序之前公开可用的表单,例如注册表单(尤其是)、搜索表单等。

据我所知,vue 在虚拟 DOM 上工作,垃圾邮件机器人也在 DOM 上爬行,但不知道它们是否能够在虚拟 DOM 上爬行。我遇到了很多问题。

  • 垃圾邮件机器人可以滥用 vue 元素吗?
  • laravel 原始的 csrf 保护足够吗?
  • 实现蜜 jar 技术来过滤垃圾邮件请求是否可行?

我真诚地需要您对此事的看法/意见/建议/建议。

最佳答案

垃圾邮件机器人可以滥用 vue 元素吗?

是的,他们可以。 Vue 组件被渲染成浏览器可以理解的实际 html。当然,有人可以通过其他方式模拟输入元素,但这对于可访问性来说是一个可用性噩梦。这意味着很大一部分(this survey 表示 1/5 的访问者)无法使用您的表单。 我强烈建议不要使用这种方法。

laravel 原始的 csrf 保护足够吗?

CSRF 不是机器人防护。 CSRF是一种防止跨站伪造攻击的保护机制。或者换句话说:用户被欺骗,通过滥用浏览器在每次请求时发送身份验证 cookie 的机制,无意中在您的网站上执行某些操作。 CSRF token 是一条不可猜测的信息,只能通过其他方式获得,这使您可以忽略任何具有无效 CSRF token 的请求。

实现HoneyPot技术来过滤垃圾邮件请求是否可行?

不,不是真的。蜜 jar 适用于最愚蠢的机器人。任何能够通过渲染页面或通过 CSS 静态分析来识别页面上哪些元素可见的机器人都能够确定要填写哪些字段以及不考虑哪些字段。

您还有其他选择吗?

您还有另外两个选择。正如 David Weldon 在评论中建议的那样,使用 recaptcha V3将根据与网站的交互对提交内容的可信度进行评分,从而大幅减少垃圾邮件。您可以忽略分数过低的表单提交。您可以使用a visible or (partly) invisible recaptcha V2如果您希望用户能够绕过验证码。

您的另一个选择是使用 Akismet for Wordpress 等服务。此类服务依赖于许多站点和表单将其表单提交发送到此类服务,这使它们能够识别大部分站点上发生的最有可能是垃圾邮件的表单提交,并将其完全过滤掉。您也许能够找到覆盖范围足够广且有效的类似服务。

关于laravel - 如何使用 vue 和 laravel 防止垃圾邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54264613/

相关文章:

vue.js - 将 Vue 部署到 GitHub 页面。 vue-router 出错

javascript - 从外部源绑定(bind)图像

javascript - Vue JS - 如何使用单选按钮显示或隐藏元素

拉拉维尔 5.1 : how can i update one row only with where clause?

php - Laravel 5 Excel 安装失败

laravel - 从 Laravel 4 中的 MSSQL 存储过程读取多个结果集

javascript - 提交表单 javascript 之前确认警报

javascript - 如何在 Vue 中使用 v-for 获取每个项目的计数?

javascript - Laravel - 将 php 变量作为数组传递给 JS

javascript - 单击后如何在 Vue 中隐藏按钮?