ae_ph
@ae_ph
I'm a owl )

Как защитить кнопку от автоматического клика?

Есть кнопка на сайте button и по ней нужно кликать мышкой.
Но если у себя в браузере, в консоли забить следующий js она будет кликаться автоматом.
setInterval(
    function() {
        let button = document.querySelector('.button');
        button.click() + console.log('Был клик');
    }, 1000);

Как защитить её от такого метода?
  • Вопрос задан
  • 382 просмотра
Решения вопроса 1
WblCHA
@WblCHA
Если просто, то так:
document.body.addEventListener('click', (e) => {
  if(!e.pageX && !e.pageY) {
    e.stopPropagation();
  }
}, true);

При использовании функции клика место клика всегда равно нулю.
Понятное дело его можно обойти, но на клиенте всё можно обойти.)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@forgetable
Node/Flutter/C++
Я был неправ.

На самом деле, решение простое. Разработчики использовали свойство event'а isTrusted, которое говорит, было событие вызвано дейсвиями пользователя (тогда будет true), или нет (будет false). Они проверяют это значение.

P.S: бэк тут абсолютно ни при чём.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы