Skip to content

Dev: Add bot detection for magic links #1293

@lonnieezell

Description

@lonnieezell

In one of my projects we ran into issues with Android mobile devices and SMS where the OS was trying to be too helpful and would visit the links to ensure they were safe, or prep for read aloud, etc, and it would invalidate the magic link since it had already been visited.

While this was specifically for SMS, I can see email clients attempting to be helpful breaking the magic link system, also. Additionally, there is potential use by developers using that link for SMS messages.

There are 2 solutions and we might want to consider both long-term.

  1. Analyze the user-agents and/or IP address of known bots that might interfere and block their attempt at that URL.
  2. A better long-term alternative is to make it something that requires user input, like sending 4-6 numbers in the email and require user input so we don't have to play cat and mouse with bots.

Here's the list of user agent strings that we've used and is working so far:

  • Googlebot
  • Bingbot
  • Slurp
  • DuckDuckBot
  • Baiduspider
  • Sogou
  • Exabot
  • ia_archiver
  • Google-PageRenderer
  • Google-Read-Aloud
  • Google-Safety
  • bot
  • crawler
  • spider
  • Yandex
  • BingPreview

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions