php Wordpress防止钩子在页面被机器人访问时触发

yiytaume  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(140)

我通过插件为一个WordPress网站创建了一个短信OTP系统,流程是这样的:
从收到的电子邮件打开链接-〉转到网站,在页面上登陆,发送短信-〉解决OTP -〉用户自动登录。
然而,我意识到,如果你发送链接给某人,在一个松弛的消息,即/,或其他流行的应用程序,该页面收到一个ping从他们的机器人,一个我的OTP请求被发送。
我想有一种方法来防止这种情况。我的第一个想法是太使用用户代理阻止流行的应用程序机器人,但它看起来很弱,他们是很难太维护。

$social_bots = array(
    '/facebookexternalhit/i',
    '/Twitterbot/i',
    '/LinkedInBot/i',
    '/Instagram/i',
    '/Pinterest/i'
);

$user_agent = $_SERVER['HTTP_USER_AGENT'];

// REGEX condition to ensuring the user agent is not in the above.

有什么想法,我宁愿不使用任何额外的图书馆和 composer 的东西?

zxlwwiss

zxlwwiss1#

我有两个建议
1.检查不是机器人,但浏览器。验证像10-15最流行的,如果可以发送短信
1.使用fetch或axios超时5秒后,使用js触发发送(添加一些预加载程序,以便用户了解smth正在处理)

相关问题