Задать вопрос
  • Почему я получаю редирект на главную с любой детальной страницы?

    webhero, это при запросе чего-то вроде /ru/types-of-jobs/designer/ , верно? Не главной?
    Если да, то nginx настроен неверно, вот то, о чём я говорил:
    /var/www/gishagi/data/www/gishagi.kz/index.php

    Нужно настроить так, чтобы для не-физических ЧПУ страниц нижняя строчка была
    /var/www/gishagi/data/www/gishagi.kz/bitrix/urlrewrite.php
    Написано
  • Как сделать прилипающую кнопку при клике на чекбокс?

    а почему не так?
    <div class="header"></div>
    <div class="page">
      <div class="checkboxes">
        <input type="checkbox" class="checkbox__input" />
        <input type="checkbox" class="checkbox__input" />
        <input type="checkbox" class="checkbox__input" />
        <input type="checkbox" class="checkbox__input" />
        <input type="checkbox" class="checkbox__input" />
        <input type="checkbox" class="checkbox__input" />
      </div>
      <div class="floating-btn">Показать</div>
    </div>

    .header{
      position:fixed;
      height:50px;
    }
    .page{
      padding: 50px 0 0;
    }
    .checkboxes {
      display:flex;
      flex-direction:column;
      align-items:start;
    }
    .checkbox__input{
      margin: 10px 0;
    }
    .floating-btn {
      position: absolute;
      top:0;
      left: 50px;
      display:none;
      background-color: lightblue;
    }

    const checkboxInput = document.querySelectorAll(".checkbox__input")
    const filterFloatingButton = document.querySelector('.floating-btn');
    checkboxInput.forEach((input) => {
    
      input.addEventListener("change", function () {
        if (input.checked) {
          const top = input.getBoundingClientRect().top
          filterFloatingButton.style.top = top + "px"
          filterFloatingButton.style.display = "block"
        } else {
          filterFloatingButton.style.top = 0
          filterFloatingButton.style.display = "none"
        }
      })
    })
    Написано
  • Как научиться декомпозиции в ООП?

    никак не врубаюсь, зачем так жестко нарезать

    Что значит "жёстко"? Если вместо одного класса вдруг образовался десяток - то в ответах рекомендуют SOLID. Я бы уточнил и поставил акцент на первую букву - Single-responsibility principle. Иногда дробление по этому принципу избыточно - но, думаю, Вам будет проще сначала привыкнуть дробить, а потом уже объединять некоторые кусочки.
    Написано
  • Почему я получаю редирект на главную с любой детальной страницы?

    webhero, если нет ни DOCUMENT_ROOT/local/php_interface/init.php , ни DOCUMENT_ROOT/bitrix/php_interface/init.php, то просто создайте его.
    Да можно даже в dbconn.php запихнуть для разовой отладки. суть в том, что если путь не существует физически, то трасса должна начинаться либо с DOCUMENT_ROOT/bitrix/urlrewrite.php , либо с DOCUMENT_ROOT/bitrix/routing_index.php ( более современный подход ).
    Если это не так - nginx настроен неверно (вероятно, под Wordpress или Laravel )
    Написано
  • Кто может разъяснить магию ssh agent forwarding?

    Mausglov
    @Mausglov Автор вопроса
    Ziptar, Ваш ответ мне кажется не совсем точным, извините. Подсказка от Lynn «Кофеман» мне больше помогла
    Написано
  • Кто может разъяснить магию ssh agent forwarding?

    Mausglov
    @Mausglov Автор вопроса
    Теперь я понял, спасибо!
    Итоговая цепочка, видимо, такая:
    1. промежуточный хост отдаёт отпечаток публичного ключа серверу,
    2. сервер видит, что у него есть ключ с таким отпечатком, шифрует начальную посылку и отдаёт промежуточному хосту,
    3. промежуточный хост пересылает посылку на начальный хост, заодно сообщая, какой публичный ключ задействован,
    4. начальный хост расшифровывает посылку и отдаёт результат промежуточному хосту,
    5. промежуточный хост передаёт результат серверу.

    В итоге все довольны. Единственная угроза: кто-то третий с доступом на промежуточный хост может тоже проэксплуатировать форварднутого агента.
    Написано
  • Кто может разъяснить магию ssh agent forwarding?

    Mausglov
    @Mausglov Автор вопроса
    форвардинг-то работает, Вы не вчитались в вопрос.
    Написано
  • Кто может разъяснить магию ssh agent forwarding?

    Mausglov
    @Mausglov Автор вопроса
    Потому что PublicKeyAuthentication так и работает - вы предлагаете серверу публичный ключ, он же, проверяя соответствующий приватный ключ, допускает вас или не допускает

    Евгений, тут Вы заблуждаетесь. Сервер не может проверять приватный ключ, потому что на сервере приватного ключа нет, только публичный. Наличие приватного ключа где-то ещё - это угроза утечки.
    Работает оно ровно наоборот: клиент предлагает серверу отпечаток публичного ключа. Сервер смотрит, есть ли у него ключ с таким же отпечатком. Если нет - сервер отвергает этот отпечаток и увеличивает счётчик неудачных попыток. Если есть, то сервер шифрует этим публичным ключом начальную посылку и отдаёт клиенту. Клиент расшифровывает полученные данные приватным ключом и предъявляет серверу доказательство. Сервер проверяет доказательство, и если всё ок, соединение устанавливается.
    Написано
  • Почему я получаю редирект на главную с любой детальной страницы?

    webhero, в смысле, там только nginx, апача нет?
    поставьте, пожалуйста, трассировку прямо в php_interface/init.php и покажите тут вывод:
    <?php
    $traceLog = __FILE__.":".__LINE__."\n";
    $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
    foreach ( $trace as $tr ) {
        if( !array_key_exists('file', $tr) ) continue;
        $traceLog .= "{$tr['file']}:{$tr['line']}\n";
    }
    echo nl2br($traceLog);die;
    Написано
  • Какие подводные при хранении токенов в memcached?

    accountnujen, Возможно, Вы путаете переменные окружения и файлы .env . Файлы .env - это один из способов хранить значения переменных окружения перед использованием, но не единственный
    Написано
  • Как реализовать авторизацию на ТВ по 6 значному коду?

    если вы опасаетесь коллизий, то вероятность того, что двум пользователям за время устаревания кода выпадет одно и то же шестизначное число, равна одной миллионной, и это при плохой реализации.
    Плохая реализация:
    1. телевизор генерирует шестизначный пин-код и отправляет его управляющему серверу
    2. что управляющий сервер сделал с запросом телевизора?
    3. телевизор показывает пин-код на экране
    4. как телевизор обеспечивает канал связи с управляющим сервером на время ожидания реакции пользователя?
    5. пользователь вводит пин-код в веб-приложении
    6. приложение отсылает код на управляющий сервер
    7. что управляющий сервер сделал с запросом из приложения?
    8. управляющий сервер сообщает телевизору, что всё окей


    Реализация получше:
    1. телевизор обращается к управляющему серверу с запросом пин-кода
    2. управляющий сервер генерирует пин-код
    3. управляющий сервер проверяет сгенерированный код на коллизию с уже выданными кодами; если нужно -перегенерирует
    4. управляющий сервер отсылает пин-код на телевизор
    5. телевизор показывает пин-код на экране

    ... дальше то же самое
    Написано
  • Как перенести лендинг на WordPress у которого НЕТ базы данных?

    По-моему, Вы не разобрались. Насколько я увидел по сообщениям топистартера, там нет никакой левой БД, потому что вообще нет БД. Сайт был целиком закеширован в статику. Затем в какой-то момент БД была полностью потеряна, но никто не заметил этого из-за кеша. Вся история.
    Написано
  • Куда и о чём писать заявление, если в логах веб сервера видишь, что кто-то ищет уязвимость?

    мне кажется, если я пойду в отделение

    accountnujen, Вы абсолютно правы, Вам кажется.
    Если хотите писать заявление на возбуждение уголовного дела - идите и пишите. Если требуется писать по какой-то форме - Вам обязаны объяснить, как
    Написано
  • Не отображается сайт в браузере Почему так происходит?

    Bulgar, Вам выше 2 человека написали, смотрите short_open_tag
    Написано
  • Как перенести лендинг на WordPress у которого НЕТ базы данных?

    dookieonmyshoe, я только предполагаю, что был подключен какой-то особо агрессивный плагин для кеширования ( или даже не плагин, а библиотека не из экосистемы WordPress). Затем в какой-то момент сайт перенесли с кэшом, но без базы, и оно в силу счастливой случайности запустилось на новом месте. Так и жило..
    Написано
  • Как решать задачу?

    vadimr, на мой взгляд, это достаточно очевидно, и проистекает из правила:
    за один день нужно сбросить с одного из уровней все игрушки одного цвета и по одной игрушке каждого из оставшихся на этом уровне цветов

    Я уверен, что указанный мной подход даст наименьшее число дней на уровень при любой комбинации шариков на уровне. Даже на большем числе комбинаций шариков, чем позволяет задача
    Написано
  • Как получить ссылку на товар битрикс из корзины?

    я вижу 2 варианта:
    1) вы это товар в корзину "руками" положили. В смысле, самодельным кодом. Тогда надо код поправить, и класть товар вместе со ссылкой
    2) в Битриксе так "из коробки". Тогда надо дёрнуть
    $res = CIBlockElement::GetList(...); $row = $res->GetNext();

    GetList() вызвать с селектом, в котором есть 'DETAIL_PAGE_URL' . Фильтр очевидный: по ID, зачение для него надо выдернуть из $basketItem, элемента коллекции $basketItemsOrderable
    Написано
  • Как скачать файлы с директории сайта, если не знаешь имени файлов?

    pcica, а Вы не пробовали обратиться к владельцу сайта и попросить?
    Написано
  • Как скрыть посещаемые сайты от хостера VPS?

    Хотелось бы Ютуб смотреть, сайты заблокированные открывать.

    Olvizd, "де юре" это не противозаконно. Но "де факто" - противодействие властям. Поэтому размещать в РФ VPS, который однозначно продемонстрирует вашу оппозиционную деятельность ( а противодействие и есть оппозиция), довольно неразумно.
    Написано
  • Что лучше использовать для связей в бд?

    не совсем по вопросу: вот это выглядит сомнительно:
    "creatorName": "vitalya_genius", // Берется из таблицы users, по полю userId из таблицы Pool
    "creatorAvatar": "123", // Берется из таблицы users, по полю userId из таблицы Pool

    Лучше так:
    "creator": {
    	"id": 1041770840,
    	"name": "vitalya_genius",
    	"avatar": "123",
    }

    То есть в ответе идут данные по вложенной сущности user, которая на сайте используется единообразно, независимо от роли - холдер, создатель пула или ещё что-то.

    То, что тут поле "id" дублируется по значению с полем userId в Pool - не играет роли
    Написано