Задать вопрос
  • Как пополнить баланс телеграм бота звездами быстрее, чем за 21 день?

    @scooby_doe
    Попробуй вопрос не тут, а в https://t.me/tginfo задать, там выше шанс ответ получить
    Написано
  • Как можно зафиксировать что с сайта есть запрос на сторонний сервис?

    @scooby_doe
    Если нет ничего из инструментов выше - разворачивай сайт локально и слушай через тот же wireshark куда http запросы уходят, так ты точно поймешь куда они вообще уходят с твоего сайта.
    Написано
  • Как убедиться, что одностраничный сайт (SPA) корректно индексируется поисковыми системами Google и Яндекс?

    @scooby_doe
    Ну для адекватной индексации и используют SSR, если есть возможность все-таки на него перейти, то лучше перейти.
    Никто не знает как оно там сейчас работает, даже внутри у них.

    Наверное тебе нужно больше времени провести в webmaster.yandex.ru и отслеживать ошибки/рекомендации самого шмяндекса. По поводу гугла тебе уже ответили выше.

    Косвенные проверки под желтый поисковик:
    - подключенный вебвизор (метрика), просто смотришь как там прогружается контент
    - просмотр уже проиндексированных частей по маске:
    "your dynamic text" site:domain.ru
    Написано
  • Как удалить / на конце всех ссылок без перенаправлений?

    @scooby_doe
    V0yage, попробуй проверить код при вызове самого компонента в PHP, там тоже есть обработка урлов
    Написано
  • Почему Telegram отправляем сразу несколько webhook?

    @scooby_doe
    Пруф дублирующихся запросов в студию, ни разу такого не было с бот апи у меня.
    Как правило, все проблемы с бот апи исходят от ошибки самого кодера.
    Написано
  • Почему Bitrix не даёт привязать другую валюту к заказу?

    @scooby_doe
    а код где или без него пытаетесь?
    Написано
  • Как лучше работать с информационным блоком на поддоменах?

    @scooby_doe
    Рандомный набор мыслей и слов. Откуда нам знать за что этот инфоблок отвечает и какой контент в нем находится, а тем более по какой причине вы его скрыли на поддоменах.

    1. Если инфоблок уникальный и полезный - открывайте
    2. Если он не является уникальным или дублируется - не открывайте
    Написано
  • Как починить ошибку в Laravel 11 Connection refused (Connection: mysql, SQL)?

    @scooby_doe
    lodas, а что такое это таинственное /api/post ? это другой бэкенд? в чем разница между site.ru/ и /api/host/ ? это разные машины?

    если это роут в рамках одного фреймворка и одного инстанса бэкенда ошибки здесь не может быть, могу только посоветовать сбросить общий кэш (:
    Написано
  • Как починить ошибку в Laravel 11 Connection refused (Connection: mysql, SQL)?

    @scooby_doe
    Так быть может в DB_HOST надо прописывать api-laravel-mysql ?)

    Если это продовый докер композ файл я советую тебе подумать насчет:
    ports:
    - "3306:3306"


    Ты вытаскиеваешь таким образом хост БД наружу и если это какая-то vds на хостинге тебя промаппят и забрутят/уронят БД.

    В рамках локальной сети можно остаться вот так:
    ports:
    - "127.0.0.1:3306:3306"
    Написано
  • Какой есть бесплатный хостинг для сервера мультиплеера Unity?

    @scooby_doe
    Вряд ли у тебя там что-то тяжеловесное, возьми виртуалку за 300 рублей/месяц, это уже даже не деньги.
    Если что-то пилишь для себя будь готов всегда сам оплачивать своих хотелки, так устроена жизнь.
    Написано
  • Прерывается демонстрация экрана в ТГ при переходе в полноэкранный режим в демонстрируемом приложении/игре, как исправить?

    @scooby_doe
    Если установлен официальный клиент телеги попробуй альтернативный из списка рекомендуемых с официального сайта:
    https://telegram.org/apps
    Написано
  • Как устроено странное видео в телеграм?

    @scooby_doe
    Ты не написал какой клиент телеги используешь.

    Очевидно это какой-то баг плеера самой телеги, у меня такое было ранее в android приложении, видос мотался в самый конец с временем, которое явно было больше максимального (условно видос 30 секунд, а мотало в 1 час с копейками).

    Абузить баг хочешь научиться?)
    Написано
  • Как после авторизации обновить страницу модуля Битрикс?

    @scooby_doe
    Сергей, ясно, тогда сделай костыльный редирект в своем модуле, без какой-либо привязки в авторизации, если нет возможности починить сам js.

    Логика следующая: каждый раз при первичной загрузке модуля админки (при отсутствии твоего кастомного GET параметра) делай редирект на эту же страницу, но с добавлением параметра, в таком случае редирект уже не делаешь.

    После global $APPLICATION; добавь следующий код:
    if (!isset($_REQUEST['after_redirect']) || $_REQUEST['after_redirect'] !== 'yes') {
    	LocalRedirect($APPLICATION->GetCurPage() . '?after_redirect=yes');
    	exit;
    }


    Важно: но тут ты должен проверить, не ломает ли это внутри твоего модуля какие-то роуты или функционал, это может мешать в определенных случаях.
    Важно 2: если надо будет добавь дополнительную проверку в условие в виде $_SERVER['REQUEST_METHOD'] === 'GET' - в случае, если при POST не нужно редиректа

    В общем если и этот вариант не подойдет, тогда разбирайся сам (:
    Написано
  • Как после авторизации обновить страницу модуля Битрикс?

    @scooby_doe
    После авторизации где и куда редирект идет? На страницу с модулем?

    ???
    Написано
  • Хакнули сервер, как избавиться от майнеров?

    @scooby_doe
    Данный майнер очень часто атакует docker контейнеры, смотрящие наружу. Он сканирует сервер и по заранее подготовленным RCE заползает на сервер.
    Если юзаешь контейнеры, бегом проверять версии образов, скорее всего какой-то из них смотрит наружу и давно не обновлялся.

    Сделай следующее:
    1. Просканируй свой сервер через nmap на наличие открытых портов (если какой-то из них торчать не должен - убираешь и берешь на будущее на вооружение)
    2. Проверь версии образов docker / софта - найди тот, который самый старый (обновляешься - берешь на будущее на вооружение)
    3. Если есть возможность развернуть содержимое сервера на чистой и свежей ОС - сделай это, скомпроментированный сервер уже != безопасность

    У моего клиента на сервере был такой же кейс:
    /var/www/app # ps aux
    PID USER TIME COMMAND
    1 root 0:06 php-fpm: master process (/usr/local/etc/php-fpm.conf)
    2159 www-data 0:09 /tmp/kinsing
    2328 www-data 18h05 /tmp/kdevtmpfsi

    2900 www-data 0:04 php-fpm: pool www
    2901 www-data 0:02 php-fpm: pool www
    2902 www-data 0:01 php-fpm: pool www
    2903 root 0:00 sh
    2911 root 0:00 ps aux


    Прикол был в том, что был docker и был docker compose, в секции ports (в docker-compose.yml) не были закрыты для внешки контейнеры. Был старый redis, подробности есть здесь.

    Лучше делай полный бэкап данных, потом разворачивай на чистом сервере, закрывай от внешки все, что не должно туда смотреть.
  • Как сделать поиск по id по числу без преобразования?

    @scooby_doe
    Лев Салатов, звучит как sql inj, где-то экранируется id при получении его из запроса?

    Если нужно использовать некий символьный код для страниц, а не id, например уйти от site.ru/page/1 на site.ru/page/someshit, тогда нужно ввести столбец строковый slug и уже по нему делать выборку. И опять же, экранирование!

    p.s. ты придумал себе проблему, которой нет)
  • Как сделать поиск по id по числу без преобразования?

    @scooby_doe
    Если не секрет, а для чего может понадобиться поиск значения в int столбце по символам, которые не являются числом?)
  • Как настроить config:cache для запуска локально?

    @scooby_doe
    который пытается на сервере запросить файл по абсолютному пути локалки и естественно выдает ошибку


    сначала речь идет про сервер, потом про локалку, о каком сервере идет речь?
    для чего потребовалось на одной директории работать через 2 шторма?

    если ошибка возникает при разработке - отключайте кэширование, кажется, это выглядит как решение
  • Как сохранять клики и их время в кликере?

    @scooby_doe
    heavig2, пункт 3 может частично помочь, чтобы данные не терялись. На http запросах ничего не изобретешь, тут только сокеты помогут, прям пушить на бэк каждый клик там можешь, ничего не теряя.
  • Как сохранять клики и их время в кликере?

    @scooby_doe
    Наилучшим вариантом для такого функционала будут сокеты, долбёжка обычными запросами по http никогда до добра не доводит. При высокой нагрузке упадёте просто. С сокетами отпадет надобность переживать, не потерял ли кто-то клики и все ли зарегало.

    На примере того же хомяка, он раз в какой-то период (условно 2 секунды), отправляет количество кликов, которые пользователь накликал за это время. Соответственно, на бэкенде просто суммируется это значение с возможными проверками на накрутку (чтобы не прислали фейковое количество, которое явно за 2 секунды не прожать).

    Если я правильно тебя понял, то нужно, чтобы и клики регались и тот, кто вышел - не потерял своё настоящее количество. Поэтому решение:

    0. Юзер зашел в приложение выгружаешь ему его клики

    1. Запускаешь setInterval (ну 5 секунд например) и когда он срабатывает отправляешь запрос на бэкенд с количеством кликов за этот период, не забывая обнулить каунтер не отправленных кликов

    2. Количество не отправленных кликов дублируешь в localStorage и обнуляешь его, когда запрос уходит на бэкенд (см. пункт 1)

    3. Перехватываешь событие закрытия окна/приложения и шлешь последний запрос на бэк, если не отправленные клики > 0 (этот вариант на самом деле тут по приколу, я обычно так не делаю, поскольку последний запрос не отправится, если у юзера отвалится интернет)

    4. Ну и при открытии приложения смотришь, если localStorage не 0, отправляешь запрос на бэкенд

    Это как один из возможных сценариев развития.
    По факту, если зайдет какой-то веб разраб он сможет себе накрутить клики, просто поигравшись в девтулзах браузера и отправив нужные данные в запросе, просто помни об этом.