Задать вопрос
  • Какой есть бесплатный хостинг для сервера мультиплеера 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, отправляешь запрос на бэкенд

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

    @scooby_doe
    Ну вообще должно быть норм, потому что на официальном сайте телеги он есть с ссылкой на гитхаб:
    https://telegram.org/apps
    https://github.com/UnigramDev/Unigram (в тегах репозитория есть секретные чаты)
    Написано