• Почему Bitrix не пускает на некоторые страницы админки?

    Вам подменили или разместили htaccess в папках Битрикса. Если есть возможность, восстановитесь из бекапа. Иначе, надо вычищать всё, что вам разместили на сайте. Если есть возможность, подключитесь по ssh и воспользуйтесь утилитой find, и посмотрите какие файлы были изменены.
    Потом ищите уязвимости на сайте. Если вы давно не обновлялись, то это вероятно модуль vote и файл html_editor_action.php.
    https://bdu.fstec.ru/vul/2022-01141
    Ответ написан
    6 комментариев
  • Как увеличить скорость загрузки данных в Mysql?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    самое быстрое - чтенгие из файла, csv в MyISAM потом замена на innodb или другой движ
    медленнее - убивание индексов из SQL сценария и ручное создание после
    ну и самое медленное AS IS

    а тае настройки до Ж все, в пределах 50% идеале процентов прирост
    Ответ написан
    7 комментариев
  • Почему нельзя обращаться к блоку на прямую, а лишь через класс?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    дали данное правило (обращатсья исключительно по именам классов) как аксиому

    если кратко - когда браузер анализирует твои css стили - он читает их грубо говоря "справа налево".
    к примеру стиль: .list li a {}
    браузер читает это как "найди на странице все «a», у которых есть родитель «li», у которого в свою очередь есть родитель с классом .list"
    чуешь да какой запрос получается не оптимизированный?

    хочу обнулить list-style во всём документе

    плохая затея. при обнулении стилей ты не должен ломать функционал элемента.
    Ответ написан
    Комментировать
  • Как просуммировать вложенные массивы?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const uniqueWithSum = arr =>
      arr.reduce((acc, n) => {
        const keys = n.slice(0, -1);
        const item = acc.find(m => m.length === n.length && keys.every((k, i) => k === m[i]));
        (item ?? (acc[acc.length] = [ ...keys, 0 ]))[keys.length] += n[keys.length];
        return acc;
      }, []);

    или

    const uniqueWithSum = (function(arr) {
      const indexTree = new Map;
      return arr.reduce((acc, [...keys]) => {
        const val = keys.pop();
        const indexes = keys.reduce((p, c) => p.set(c, p.get(c) ?? new Map).get(c), indexTree);
        const index = indexes.set(this, indexes.get(this) ?? ~-acc.push([ ...keys, 0 ])).get(this);
        acc[index][keys.length] += val;
        return acc;
      }, []);
    }).bind(Symbol());

    или

    const uniqueWithSum = arr =>
      [...arr.reduce((acc, n) => {
        const end = n.length - 1;
        const key = n.reduce((p, c, i) => i === end ? p : p.set(c, p.get(c) ?? new Map).get(c), acc[0]);
        acc[1].set(key, acc[1].get(key) ?? n.map((m, i) => i !== end && m)).get(key)[end] += n[end];
        return acc;
      }, [ new Map, new Map ])[1].values()];
    Ответ написан
    1 комментарий
  • Отказоустойчивое взаимодействие с медленным внешним сервисом?

    Fragster
    @Fragster
    помогло? отметь решением!
    Нужно класть задание в БД, получать в фоне, класть в БД ответ, затем на клиент прокидывать через пушер/аналог или если лень его настраивать - то с клиента раз в 5 секунд дергать "уже готово? а сейчас?"
    Ответ написан
    1 комментарий
  • Как определить, что у пользователя включен vpn?

    @AlexVWill
    Есть подозрение, что из-за него некорректно работает форма авторизации / регистрации на сайте.

    Надо бороться с причиной, а не с явлением как таковым. Если форма криво работает из-под VPN, то виновата форма, а не VPN. Половина мира уже сидит в интеренет под VPN, поэтому стоит задуматься о том, что у тебя не так реализовано. Тем более, что каких то объективных причин нарушения работы web-сервера если на него поступают запросы от VPN нет.
    Я бы скорее предположил, что в форме реализованы какие то скрипты (возможно даже сторонние JS библиотеки), который блокировщики рекламы считают спамом, и режут их, отсюда и проблема. Надо конкретно смотреть, что не так.
    ак определить, что у пользователя включен vpn

    Ну определишь ты, и что дальше? Как это тебе поможет реализовать исправление ошибки формы? Лучше задуматься о том, как исправить форму, чтобы все могkи ей пользоваться независимо от VPN.
    Ответ написан
    4 комментария
  • Какой самый лучший способ установить блок внутри блока?

    modelair
    @modelair
    unsocial
    <div style="position: relative">
      <div style="position: absolute; top: 200px; left: 200px"></div>
    </div>
    Ответ написан
    Комментировать
  • Почему при использовании substr в php, если в тексте есть символ точки, то он считает не корректно?

    vovka3003
    @vovka3003
    Фрилансер. Инженер систем безопасности.
    А если попробовать mb_substr?
    Ответ написан
    Комментировать
  • Драйвера видеокарты?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Драйвер обычно удалять не требуется.

    Случаи/причины, когда драйвер нужно удалять:
    • драйвер занимает очень много места, а свободного пространства мало (характерно для видеокарт, звуковых карт и принтеров некоторых вендоров)
    • устройство будет потом возвращено, но нужно будет установить к нему дефолтный драйвер либо обновлённый от производителя


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

    Драйвер для устройства ставится исключительно по точному совпадению идентификатора устройства (Диспетчер устройств - нужное устройство - Свойства - Сведения - ИД оборудования - значения VEN_xxxx&DEV_yyyy). Попытка установки драйвера при несовпадении идентификатора в драйвере приведёт как минимум к паре запросов типа "Вы действительно хотите ... ?". Да и корректность работы (и вообще работа - вплоть до BSOD при загрузке) в случае установки неподходящего драйвера не гарантируется...
    Ответ написан
    Комментировать
  • Как перенести пользователей из WordPress на самописный сайт на Laravel?

    vfreelancer
    @vfreelancer
    php
    смотрим как шифруют пароли в wp, в laravel пишем свою авторизацию - вместо из коробки проверяем hash так же, как и в wp. второй вариант - ждать пока они авторизуются в wp, ловить чистый пароль и хешировать в бд laravel.
    Ответ написан
    Комментировать
  • Как узнать, для какого процессора предназначен файл?

    bingo347
    @bingo347
    Crazy on performance...
    readelf -h /home/usr/qt-android/mylib.so
    Ответ написан
    Комментировать
  • Как прочитать данные из двух таблиц одновременно?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Как в PHP пройтись по диапазону дат?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    <?php
    $from = DateTime::createFromFormat("m.Y", "1.2023");
    $to = DateTimeImmutable::createFromFormat("m.Y", "12.2024");
    $interval = DateInterval::createFromDateString('1 month');
    
    while ($from < $to) {
        echo $from->format('m.Y') . PHP_EOL;
        $from = $from->add($interval);
    }
    echo $to->format('m.Y') . PHP_EOL;


    https://phpize.online/sql/mysql57/undefined/php/ph...
    Ответ написан
    3 комментария
  • Как установить новую версию PHP на Centos 7 (isp manager - не оплачен)?

    Sanes
    @Sanes
    Оплатить ISPman. У них свои сборки PHP.
    Ответ написан
    Комментировать
  • Что такое полиморфизм?

    @AlexSku
    не буду отвечать из-за модератора
    На Haskell видел такие примеры:
    1) хотите описать функцию для аргументов разных типов. Напр., len x определит длину списка (количество элементов) любых объектов (Int, Bool, String...)
    2) при функции сложения (оператор +) для целых чисел вызывается одна внутренняя функция, а для дробных - другая (они скрыты от пользователя).
    Ответ написан
    Комментировать
  • Есть ли какой довод переходить на Linux Mint с Ubuntu?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Свои 5 копеек вставлю...

    Для сравнения, так сказать, зацени разницу...
    Обе ОСи у меня на разных SSD-хах в одном писюке.

    Первый скрин - Ubuntu 22.04 (с дефолтным GNOME-Shell)
    Ubuntu
    640c861a666e4874935576.jpeg
    640c862aa3fd9962163722.png


    Второй скрин - последний Arch Linux + Openbox
    Arch
    640c8644b8bb0567806683.jpeg
    640c8651454dc686321471.png


    В Убунте всё из коробки...

    В Арче всё, что в Убунте практически из коробки, только руками всё сделано.
    При том, что чистый Openbox, без дисплейного менеджера (OB сам выступает таковым)

    Разница в заборе ресурсов (ОЗУ) - 500 Мб не в пользу Ubuntu, при том, что пакет утилит, тем GTK одинаков.
    Разные только Оконные менеджеры.
    Ну, и Arch Linux гибче в разы!
    Можно установить любую штатную вещь из др. дистров без подтягивания допом, например, как в Убунту, ещё какого-нибудь Оконного Менеджера, Дисплейного Менеджера, Окружения раб. стола и т.д...
    К сожалению в Убунтовых релизах именно так и происходит, ставишь например из KDE прогу, а она тянет за собой ещё и весь KDE.
    И так же с удалением, удаляте, но только может ещё допом зацепить основной ОМ и снести или весь, или часть его...

    Единственный минус для обычного пользователя - из коробки, как с Минтом или Убунту, или Манджаро, установить не получится.
    Всё руками.
    Абсолютно всё!
    У меня на всё про всё ушло часов 15, чтобы привести Openbox в Arch к аналогичному виду, как в Ubuntu.

    Хотя, в пользовании, как Пользователь - разницы НИКАКОЙ!!!
    Команды консоли другие и всё.

    Я всё это к чему?

    По факту, разницы в пользовании практически никакой, дело привычки к интерфейсу.

    Разница только в актуальности пакетов/программ.

    В Арче кончено в основном всё новёхонькое и протестенное.
    В Манджаре всё, что в Арче, только в красивой упаковке из коробки
    Дебиан - это, как старый и надёжный лимузин
    В Убунте, по сравнению с Деби, тоже не плохо, новее и свежее, чем в Деби, но не всегда всё самое свежее
    В Минте - это кастрированная Убунту с более старыми версиями пакетов/программ
    и т.д. и т.п...
    Ответ написан
    Комментировать
  • Почему скрипт не видит класс при запуске через CRON?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Относительный путь считается не от каталога, в котором находится скрипт, а от текущего рабочего каталога (cwd).
    --include '../../path/test.php';
    ++include __DIR__ . '/../../path/test.php';
    Ответ написан
    Комментировать
  • Откуда в битрикс берутся странные урл пагинации (достраивается произвольный кусок) и как это устранить?

    Adamos
    @Adamos
    С подобным - нет.
    Но когда вы дойдете до вопроса, как закрыть бэкдоры, через которые вам залили то, что так меняет урлы - сходите сюда
    Ответ написан
    1 комментарий
  • Можно ли сказать, что Гит работает на блокчейне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет. Гит не является блокчейном потому-как в него не закладывались требования по кворуму и гарантий уникальности и нефальсифицируемости истории.

    В git нет понятия блок. И нет алгоритмов POW для подтверждения потраченной работы.

    В git владелец может убить master-бранч что само по себе - принципиально невозможно в криптовалютных проектах

    UPD: Почему я привлекаю именно юзкейс криптовалют. Потому что в наше время блокчейн плотно ассоциирован именно с этой технологией. Хотя само по себе определение блокчейна может быть либеральнее чем я описал. Например POW может и не быть. Просто рассматривая git надо обозначить его сравнительные недостатки чтоб не было в теме попыток спекулировать просто на похожести этих двух технологий. Да они в чем-то похожи но блокчейн во много раз строже по безопасности. Ведь хранение журнала фин-операций - особая и деликатная задача.
    Ответ написан
    3 комментария
  • Как вывести значение из массива если ключ совпадает с переменной?

    Stalker_RED
    @Stalker_RED
    Никакой цикл не нужен.
    $time = date("H", time());
    $os = [
      '14' => '1',
      '15' => '2',
      '16' => '3',
      '17' => '4',
    ];
    $val = $os[$time] ?: 'no value';
    echo $time .  "<br><br>" . $val;

    И у вас там внутри if вместо сравнения присваивание, потому он все и выводит.
    Ответ написан
    3 комментария