Quick & relativ dirty:
Übergebe bei einem Aufruf den Du selber startest und erlaubst einen 'geheimen' Parameter in der
URL mit.
Fehlt dieser, ist es ein ungültiger Aufruf.
Bots raten nicht wild irgendwelche Parameter. Diese hast Du damit zuverlässig ausgesperrt. Ein menschlicher Benutzer könnte das zwar, müsste dann aber auch erst den korrekten Wert des Parameters erraten.