Задать вопрос
  • Как узнать IP адрес пользователя за Cloudflare?

    deepblack
    @deepblack
    HTTP заголовок CF-Connecting-IP
    from flask import request
    user_ip = request.headers.get('CF-Connecting-IP')


    Restoring original visitor IPs
    ​​
    Ответ написан
    2 комментария
  • Что такое инстанс (экземпляр) приложения?

    oh_shi
    @oh_shi
    Вот у вас есть контроллер, который обрабатывает поступающие запросы. На каждый запрос он получает из параметров инстанс переменную, например "@var". Её значение уникально для каждого запроса. Вот так приложение выполняет один и тот же код, но для разных входящих данных.
    При дефолтных настройках вашего сервера, запросы встают в очередь и выполняются последовательно. Но если нагрузка начинает превышать возможности такого решения, то можно начать запускать приложение в нескольких инстансах. Это подразумевает выполнение одного и тоже кода в нескольких процессах (воркеры) или даже на разных серверах.
    Пример: сервер распределяющий нагрузку (1 сервер) разделяет запросы на несколько инстансов (n серверов), где запущено одно и тоже приложение, но они все обращаются к одной базе (1 сервер).
    Ответ написан
    Комментировать
  • GitHub, GitLab или BitBucket?

    Gitlab на собственном сервере.
    1. Предсказуемая цена. Никто тебе неожиданно тариф не повысит
    2. Защищается от попадания под санкции (для России очень актуально)
    3. Никто не удалит твой проект без объяснения причин.

    Не битбакет, тк битбакет - мусор.
    Гитхаб я бы использовал только как зеркало, если делаешь опенсорс.
    Ответ написан
    Комментировать
  • GitHub, GitLab или BitBucket?

    Я рекомендую Gitlab
    - Можно хостить весь Gitlab у себя. Вначале это может показаться лишним, но многие работодатели так делают, поэтому навыки по работе с Gitlab пригодятся.
    - Отличный CI. Как по мне, гораздо лучше чем Github actions
    - Проекты в Gitlab можно спокойно и очень просто синхронизировать с тем же самым Github прямо из интерфейса Gitlab, таким образом мы получаем преимущества обеих систем.

    bitbucket всё, забудьте о нём.
    Ответ написан
    7 комментариев
  • Почему не включается JIT?

    @DarkKefir Автор вопроса
    Проблема решилась тем, что в /etc/php/8.3/mods-available/opcache.iniнужно изменить opcache.jit=offна opcache.jit=tracing

    Ну и перезапустить PHP.

    Всем спасибо
    Ответ написан
    Комментировать
  • Почему у меня неправильно определяется IP пользователя?

    @rPman
    $_SERVER['REMOTE_ADDR'] устанавливает твой веб сервер, ему вы доверяете.
    Но, если пользователь заходит через прокси сервер - то тут будет выходной ip адрес этого прокси.

    Если прокси сервер не скрывает информацию о своих клиентах то
    $_SERVER['HTTP_X_FORWARDED_FOR'] и $_SERVER['HTTP_CLIENT_IP'] должны содержать ожидаемое, но это значит нужно доверять этому прокси серверу.

    Хочешь узнать реальный ip адрес, используй javascript в браузере пользователя (т.е. придется доверять уже пользователю в плане, а отреверсит ли он твой код и не подсунет что угодно).

    Cамый известный и достаточно надежный способ (его сразу отключают любые адекватные анонимизеры) - это WebRTC. Технология позволяет двум браузерам открывать прямое соединение (да еще и udp) друг с другом, а веб сервер только организует процесс. Т.е. подняв соответствующего клиента WebRTC (погугли, правда я для php с ходу готовой библиотеки не нашел) и организовав подключение клиента с этим твоим сервером, который представляется обычным веб клиентом), ты сможешь по тому, с какого ip адреса пришло соответствующее соединение, определить настоящий, даже если пользователь использует прокси.

    Это не защитит от vpn, тут никакими способами определить ip адрес пользователя не получится, потому что с точки зрения сетевых технологий, vpn - это как бы проводок пользовательского компьютера подключили к vpn-серверу, и никакие коммуникации не пойдут иначе, если пользователь не укажет иного (можно настроить маршрутизацию на выход через разные шлюзы в зависимости от геолокации, кстати этим можно воспользоваться, разместив кучу своих серверов в разных локациях и, обращаясь к ним из браузера клиента, сравнивать ip адреса)
    Ответ написан
    2 комментария
  • Как сделать, чтобы PHP Storm ставил табуляции, а не пробелы?

    clip2net.com/s/irxLL9
    на всякий случай - по PSR нужно использовать 4 пробела
    Ответ написан
    Комментировать
  • Как решить проблему со входом в MySQL через консоль Git Bash?

    KodyWiremane
    @KodyWiremane
    Пони, Debian, LEMP, LAN, любитель
    Навскидку по гуглу похоже на https://stackoverflow.com/questions/32620670/git-b...

    Попробуйте winpty mysql -u root, как там советуют.
    Ответ написан
    4 комментария
  • Как увидеть список всех моих коммитов, PR в Github?

    @sirinitys
    С права над кнопками 5fb692189a2c4780647168.png где можно клонировать репозиторий, есть не заметная ссылка
    Ответ написан
    Комментировать
  • Как в PhpStorm включить toolbar?

    DevMan
    @DevMan
    не знаю как винде и прочих пингвинах, а в макоси прямо в меню: View -> Toolbar.
    подозреваю, что в других системах аналогично.

    ну, собственно, и есть аналогично.
    Ответ написан
    Комментировать
  • Есть ли многовложенность\группировка репозиториев в github?

    alvvi
    @alvvi
    export default apathy;
    Можно создать организацию и добавить туда репозитории, но внутрь организации нельзя добавить еще одну организацию, так что это не совсем "папки".

    Пример

    К сожалению, других решений на данный момент вроде бы нет, поправьте если не прав.
    Ответ написан
    Комментировать
  • OpenSSH в Windows 10. По какой причине доступ запрещен?

    @MaxKozlov
    Добрался до компа, напишу уж тут :)
    В логах сервера видно что за проблема - не те права у того самого файлика, что я упоминал в комментарии
    debug3: Bad permissions. Try removing permissions for user: S-1-5-11 on file C:/ProgramData/ssh/administrators_authorized_keys.
    Authentication refused.

    При подключении к OpenSSH-серверу, установленному, на win и использовании аутентификации по ключу, необходимо обращать внимание на два момента:
    1. Если пользователь админ - его публичный ключ должен быть указан в C:\ProgramData\ssh\administrators_authorized_keys
    2. Убедиться что владелец файлов *authorized_keys правильный: системных - система, юзерских - юзер, и без лишних доступов.
    Например, установить права для системного можно скопировав их с другого файла:
    $acl = Get-Acl C:\ProgramData\ssh\ssh_host_dsa_key.pub
    Set-Acl -Path C:\ProgramData\ssh\administrators_authorized_keys -Acl $acl

    Ещё в комплекте c GitHub идут специальные скрипты для тех же целей:
    FixHostFilePermissions.ps1
    FixUserFilePermissions.ps1

    Они что-то ещё в реестре вроде бы правят

    Вариант обхода настроек для этого файла -закомментировать в конфигах его упоминание:
    Match Group administrators
           AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
    Но это не рекомендуется

    Ну, и, как замечено в комментариях, необходимо убедиться в правильной кодировке файла
    https://github.com/PowerShell/Win32-OpenSSH/issues...
    Если коротко, то оказалось что кодировкой *authorized_keys по дефолту является UCS-2 LE BOM, вместо ожидаемого UTF-8. После смены кодировки все заработало так как надо.

    Мои лично файлы все в ASCII
    Ответ написан
    4 комментария
  • Как открыть панель разработчика в декстопной версии Битрикс24?

    alexyarik
    @alexyarik
    Битрикс разработчик
    В настройках главного модуля "Панель инструментов публичного раздела" - Всегда показывать панель для пользователей
    Ответ написан
    Комментировать
  • Склонение существительных по падежам в русском языке?

    Библиотека на php для склонения имён, городов, существительных и числительных - morphos.io (Morphos). Без словарей.
    sorry за поднятие старого топика
    Ответ написан
    Комментировать