• Взломали хост, что делать?

    Лечить - бесполезно! Откатывать назад (бекап) - бесполезно! Так как все повторится.

    Что нужно: Обратиться к специалисту, ведь если бы Вы были специалистом:
    1) не задавали бы вопрос здесь
    2) не допустили бы такое в принципе

    Как поступить прямо сейчас:
    Разнести проекты по разным хостингам или взять VPS и настроить безопасность: read only на все php файлы - как минимум.
    Мер на самом деле куча, для полноценного ответа на Ваш вопрос нужно писать большую статью. Статью про безопасность. Как лечить - это не ко мне.
    Ответ написан
    Комментировать
  • Монетизация сайта: РСЯ или Google AdSense?

    Сам тоже в начале пути, но дам пару мыслей:
    1) сделать A/B тест между площадками
    2) пользователям гугла дать adsense, а яндекса - рся

    Также можно по-шаманить с дизайном блоков и выжать еще 30-50%

    PS. Очень жаль, что площадки делают продукт и не делают нормальных обучающих уроков, в ютубе полно видео, но толковых - нет ((

    PSS. Можно тут еще почитать, для расширения кругозора:
    blog.arost.ru/2016/12/rtb.html
    Ответ написан
    Комментировать
  • Алиас или редирект - как всё-таки лучше для SEO?

    ИМХО забейте на старый домен и сделайте нормальный новый сайт.
    Если есть возможность на старом сайте просто сделайте ссылку на новый сайт, типа: мы переехали на новый домен: restoran-gnezdo.ru
    Добавьте новый домен в яндекс карты, справочник и местные справочники.

    Для продвижения: Добавьте 10-20 статей, про банкеты, рецепты от шеф повара или еще чего интересного. Купите 5-10 ссылок на хороших сайтах, желательно кулинарной тематики.

    И не совсем понятно, что Вы хотите по итогу получить.
    Если Вас напрягает старый домен, можете просто сайт удалить и все.
    Если вам откажут, то скажите что название, телефон, фирменный стиль,.. - это ваша собственность. Можете судом пригрозить )) В итоге на старом домене будет просто информация о вашей компании, это тоже не плохо.
    Если старый домен грохнут, то тоже вроде как не страшно.
    Но повторюсь, все зависит от цели, которую Вы преследуете.
    Ответ написан
  • Как в доменной почте яндекса создать аккаунт, через который можно отправлять письма от любого аккаунта в домене?

    Как в доменной почте яндекса создать аккаунт, через который можно отправлять письма от любого аккаунта в домене?!

    никак, там идет авторизация от конкретной учетки
    Ответ написан
    2 комментария
  • Как удалить статьи с 301 редирект?

    Tolly
    @Tolly Автор вопроса
    Сейчас проверил, оказывается все статьи могут быть переадресованы таким образом.
    Похоже Netpeak Spider зря кипишь устроил.
    Ответ написан
    Комментировать
  • Как подождать пока скрипт загрузится?

    Tolly
    @Tolly Автор вопроса
    Вопрос решил так, написал, чтобы не забыть

    startFunc();
    
    function startFunc() {
    
       // Подключаем jQuery, если она еще не подключена
       if(!window.jQuery) {
        const script = document.createElement('script');
        script.type = "text/javascript";
        script.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js';
        // Слушаем, когда jQuery загрузится и загружаем внешний
        script.addEventListener('load', ()=> { scriptLoad(); });
        document.body.append(script);
      } else {
        scriptLoad();
      }
    
      // Загрузка внешнего скрипта
      function scriptLoad() {
    		const script = document.createElement('script');
    	  script.type = "text/javascript";
    	  script.src = 'https://cdn.jsdelivr.net/npm/suggestions-jquery@20.2.2/dist/js/jquery.suggestions.min.js';
    	  // Слушаем, когда загрузится внешний скрипт и запускаем функцию
    	  script.addEventListener('load', ()=> { scriptInit(); });
    	  document.body.append(script);
      }
    
    	// Инициализация функции
    	function scriptInit() { }
    }
    Ответ написан
    Комментировать
  • Как определить фокус на элементе input?

    Tolly
    @Tolly Автор вопроса
    const test = document.getElementById('test');
    test.onfocus = function() { test.classList.add('a'); };
    test.onblur = function() { test.classList.remove('a'); };
    Ответ написан
    1 комментарий
  • Что делать с папками .well-known при переносе сайта на другой домен?

    Если не планируется генерировать сертификат, т.е. например SSL-сертификат предоставляет хостинг, то папку можно не копировать.
    Если у Вас VPS, то наверное надо. Но раз Вы задаете такой вопрос, значит скорее всего папки не нужны.

    И что мешает скопировать с папками и без, если работает без, то не нужны ))
    Ответ написан
    Комментировать
  • Какой процессор лучше для машинного обучения с видеокартой Nvidia RTX 2060 Super?

    Смотря что у Вас используется при расчете, обычно расчет идет либо через CPU либо через GPU. Проверьте нагрузку CPU на домашнем компьютере и сделайте вывод. Или Вы хотите прям на 100% подогнать процессор? )) Зачем?
    В Интернете полно тестов видеокарт и процессоров, я думаю поделить одна на другое Вы легко сможете, а там и Ваш ответ.
    Ответ написан
    Комментировать
  • Как создать удобный и незаметный редирект со своего сайта на сайт магазина?

    Измените схему работы, не понятно кто тут агент.

    Если агенты - это магазины, то вы находите клиента и даете подрядчику выполнить заказ, при этом деньги должны идти через Вас, ответственность тоже Ваша.
    Но вы не хотите заморачиваться.

    Вариант когда вы - агент, вас тоже не устраивает, так как клиенты могут в дальнейшем работать не через вас, к тому же вам могут просто не заплатить за агентские услуги.

    Но третьего варианта здесь нет! Нужно выбрать кто здесь агент.
    Ответ написан
  • Какие бесплатные хранилища существуют (с подключением WebDav)?

    Tolly
    @Tolly Автор вопроса
    После долгого поиска нашел только box.com, дают 10Гб бесплатно, при регистрации спрашивают телефон, но не проверяют его. Я указал правильный, а то мало ли ))
    WebDav показывает скорость на отправку, чуть меньше 2Мбайт/сек.

    Рассматривал облачное хранилище Selectel.ru, из протоколов есть только rclone. Попробовал в принципе и по цене не дорого и скорость нормальная, но создание бекапа завязано на webdav. Переписывать пока не хочу, поэтому пока остановлю выбор на box.com

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

    Upd. По box.com отбой, закачиваются файлы, но не удаляются ((
    https://community.box.com/t5/Box-Product-Updates/U...
    We wish to remind you that, as previously communicated, we will be deprecating support for WebDAV.
    Перевод:
    Мы хотели бы напомнить вам, что, как сообщалось ранее , мы не будем поддерживать WebDAV.
    Ответ написан
    Комментировать
  • Как поменять SSD не потеряв OEM-лицензию Windows 10?

    Раз новый диск есть, поставьте и все увидите, риска же нет.
    Ответ написан
    Комментировать
  • Как исправить ошибку WP?

    Tolly
    @Tolly Автор вопроса
    Проблему нашел, в function.php была прописана строка отключающая "_maybe_update_core":
    Строка взята с сайта wp-kama и отвечала за:
    * Отключение принудительную проверку новых версий WP, плагинов и темы в админке
    * Все проверки будут происходить при заходе на страницу: "Консоль > Обновления"
    * Плагин от wp-kama

    if( is_admin() ){
    remove_action( 'admin_init', '_maybe_update_core' );
      // remove_action( 'admin_init', '_maybe_update_plugins' );
      // remove_action( 'admin_init', '_maybe_update_themes' );
    }
    Ответ написан
    Комментировать
  • Как установить и подключить imagick?

    Tolly
    @Tolly Автор вопроса
    Вопрос решил, кому интересно:
    1) Переустановил php (обновил до 7.3.14), из источников
    2) Подключил последние обновления в Debian 9:
    apt -y install lsb-release apt-transport-https ca-certificates
    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
    apt update
    3) Установил пакет php7.3-dev
    4) После проверки php и php-fpm понял, что у меня разные версии, т.е. по сути версия одна, но одна из пакета, а другая скомпилированная
    5) Проверил подключенные модули
    php -m и php-fpm -m
    понял, что в версии php-fpm (откомпилированная, ту что использую) нет модуля magick
    6) Установил пакет php-imagick
    7) Нашел библиотеку: find / -type f -name imagick.so
    8) Скопировал ее в папку с расширениями
    9) Прописал в php.ini: extension=imagick
    10) Радуюсь: php-fpm -m | grep imagick
    imagick
    Ответ написан
    Комментировать
  • Как проверить роутер и сеть на взлом?

    Попробуйте сменить браузер, может плагин какой-то шалит?

    Локальный сайт это сайт через localhost? Тогда причем тут Интернет и wifi?
    Ответ написан
  • Как поменять GET запрос?

    Tolly
    @Tolly Автор вопроса
    <form role="search" method="get" class="search_form" id="searchform" action="<?php echo esc_url(home_url( '/' )) ?>" >
    <input type="hidden" value="1" name="s" />
    <input type="search" name="text" class="search_field" placeholder="Введите текст для поиска&hellip;" required autocomplete="off" value="<?php echo get_search_query(); ?>" name="s" id="s" />
    <input type="hidden" value="12" name="param1" />
    <input type="hidden" value="33" name="param2" />
    <button type="submit" class="search_submit" value="Найти"></button>
    </form>
    Ответ написан
    Комментировать
  • Существуют ли решения по математическим вычислениям из строки?

    Tolly
    @Tolly Автор вопроса
    Нашел решение, которое меня устроило:
    https://ru.stackoverflow.com/questions/454598/%D0%...

    код
    // Исключения для парсера выражений
    class AriphmeticException extends Exception {
    function __construct($msg, $code) {
    return parent::__construct($msg, $code);
    }
    function __toString() {
    return get_class($this) . '('
    . $this->code . '): '
    . $this->message;
    }
    }

    // Собственно сам вычислитель выражений
    function calculate($statement) {
    if (!is_string($statement)) {
    throw new AriphmeticException('Wrong type', 1);
    }
    $calcQueue = array();
    $operStack = array();
    $operPriority = array(
    '(' => 0,
    ')' => 0,
    '+' => 1,
    '-' => 1,
    '*' => 2,
    '/' => 2,
    );
    $token = '';
    foreach (str_split($statement) as $char) {
    // Если цифра, то собираем из цифр число
    if ($char >= '0' && $char <= '9') {
    $token .= $char;
    } else {
    // Если число накопилось, сохраняем в очереди вычисления
    if (strlen($token)) {
    array_push($calcQueue, $token);
    $token = '';
    }
    // Если найденный символ - операция (он есть в списке приоритетов)
    if (isset($operPriority[$char])) {
    if (')' == $char) {
    // Если символ - закрывающая скобка, переносим операции из стека в очередь вычисления пока не встретим открывающую скобку
    while (!empty($operStack)) {
    $oper = array_pop($operStack);
    if ('(' == $oper) {
    break;
    }
    array_push($calcQueue, $oper);
    }
    if ('(' != $oper) {
    // Упс! А открывающей-то не было. Сильно ругаемся (18+)
    throw new AriphmeticException('Unexpected ")"', 2);
    }
    } else {
    // Встретили операцию кроме скобки. Переносим операции с меньшим приоритетом в очередь вычисления
    while (!empty($operStack) && '(' != $char) {
    $oper = array_pop($operStack);
    if ($operPriority[$char] > $operPriority[$oper]) {
    array_push($operStack, $oper);
    break;
    }
    if ('(' != $oper) {
    array_push($calcQueue, $oper);
    }
    }
    // Кладем операцию на стек операций
    array_push($operStack, $char);
    }
    } elseif (strpos(' ', $char) !== FALSE) {
    // Игнорируем пробелы (можно добавить что еще игнорируем)
    } else {
    // Встретили что-то непонятное (мы так не договаривались). Опять ругаемся
    throw new AriphmeticException('Unexpected symbol "' . $char . '"', 3);
    }
    }

    }
    // Вроде все разобрали, но если остались циферки добавляем их в очередь вычисления
    if (strlen($token)) {
    array_push($calcQueue, $token);
    $token = '';
    }
    // ... и оставшиеся в стеке операции
    if (!empty($operStack)) {
    while ($oper = array_pop($operStack)) {
    if ('(' == $oper) {
    // ... кроме открывающих скобок. Это верный признак отсутствующей закрывающей
    throw new AriphmeticException('Unexpected "("', 4);
    }
    array_push($calcQueue, $oper);
    }
    }
    $calcStack = array();
    // Теперь вычисляем все то, что напарсили
    // Тут ошибки не ловил, но они могут быть (это домашнее задание)
    foreach ($calcQueue as $token) {
    switch ($token) {
    case '+':
    $arg2 = array_pop($calcStack);
    $arg1 = array_pop($calcStack);
    array_push($calcStack, $arg1 + $arg2);
    break;
    case '-':
    $arg2 = array_pop($calcStack);
    $arg1 = array_pop($calcStack);
    array_push($calcStack, $arg1 - $arg2);
    break;
    case '*':
    $arg2 = array_pop($calcStack);
    $arg1 = array_pop($calcStack);
    array_push($calcStack, $arg1 * $arg2);
    break;
    case '/':
    $arg2 = array_pop($calcStack);
    $arg1 = array_pop($calcStack);
    array_push($calcStack, $arg1 / $arg2);
    break;
    default:
    array_push($calcStack, $token);
    }
    }
    return array_pop($calcStack);
    }
    Ответ написан
    Комментировать
  • Как отбить ddos атаку на сайт (сервер)?

    ip адреса с которых долбятся, разные? Если их не много, можно огранить например по 3 запроса в секунду с одного ip

    ваш ресурс международный или локальный? можно ограничится только нужными регионами

    если идет ddos надо смотреть, что за трафик, если пакеты, которые априори не интересны серверу, просто их блокировать
    Ответ написан
  • Как свернуть меню?

    Tolly
    @Tolly Автор вопроса
    Накидал решение, я еще тот программист )) но главное, что работает.
    Если знаете как написать оптимальней, пишите.
    Ответ написан
    Комментировать