• Как запустить сразу несколько скриптов Python в автозапуске?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Решение уже есть, но добавлю.
    Можешь ещё использовать Supervisor.

    И тоже на каждый сервис свой юнит.
    Настроек побогаче в нём...
    Хотя считается, что типа устаревшим способом, хотя обновляется регулярно.
    Я использую и Systemd, и Supervisor.
    Оба работают шикардос.
    Ответ написан
    Комментировать
  • Как запустить сразу несколько скриптов Python в автозапуске?

    @SunTechnik
    1 сервис - 1 скрипт.
    Вариантов 2:
    - Делать на каждый скрипт свой сервис.
    - Сделать общий скрипт, который будет запускать необходимые в фоновом режиме.
    Ответ написан
    Комментировать
  • Как запустить сразу несколько скриптов Python в автозапуске?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    ExecStart=sh -c "/usr/local/bin/python3.10 /usr/python/liqb.py && /usr/local/bin/python3.10 /usr/python/liqby.py && /usr/local/bin/python3.10 /usr/python/liqo.py"
    Ответ написан
    4 комментария
  • Как правильно настроить перенаправление несуществующих страниц?

    pro100taa
    @pro100taa
    Сделайте при удалении автоматический редирект 301 на родительскую категорию (или подкатегорию).
    Ответ написан
    2 комментария
  • Как правильно настроить перенаправление несуществующих страниц?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Или другими словами. Как сделать так, чтобы Вебмастер и поисковая система не ругались на то, что они не могут найти уже проиндексированные страницы ?

    Не удалять страницы, а вместо возможности заказать товар или услугу писать - товар/услуга временно не доступны. Если же товар/услуга больше не будут предоставляться вообще, то делать 301 редирект на ближайшего родителя.
    Я настроил 423 ошибку на такие страницы

    Это жестко конечно...
    Ответ написан
    Комментировать
  • Как правильно преобразовать данные?

    tomclancys
    @tomclancys
    Все математические функции PHP - https://www.php.net/manual/ru/ref.math.php
    Вам скорее всего подойдёт: round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float
    В целом если не мне отказывает память, PHP довольно плохо работает с числами в плане округлений и умножений с делениями.
    Ответ написан
    3 комментария
  • Как правильно преобразовать данные?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Что бы получить нужные значения надо не только округлять, но еще и на 100 умножать. Для округления подойдет round https://www.php.net/manual/ru/function.round.php Вторым параметром можно указать сколько знаков после запятой нужно.

    round(0.0001483391797037 * 100, 3); // 0.015 
    round(-0.0000692628742717 * 100, 3); //-0.007
    Ответ написан
    Комментировать
  • Как правильно удалить дубли одной страницы?

    shambler81
    @shambler81 Куратор тега htaccess
    Возьмите за правило следующий постулат.
    1. Все ссылки на вашем сайте должны быть оформлены через чпу.
    2. Все ссылки без ЧПУ не должны учавствовать в поиске ( набросаные фильтры карзины и тд, это индексировать не нужно) соответственно в эту же кассу идут и все php|html|htm файлы, включая index.php?, и да пейдженация ТОЖЕ идет в лес! ибо это канибализация запроса.
    3. Вывод.
    1. Запрещяем в robots.txt индексировать ВСЕ гет параметры то есть вообще все урлы с GET
    2. Настраиваете нормально ЧПУ.
    3. Делеате для себя что-то подобное https://klondike-studio.ru/standards/standartnyy-h...
    4. риал каноникал на урл без GET на всхе страницах сайта
    И настолько идиотских вопросов у вас возникать никогда не будет и идиотские они не потому что вы идиот а потому что они частые бесполезные и правятся до того как СЕОшник к вам подошел.
    Ответ написан
    Комментировать
  • Как правильно удалить дубли одной страницы?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Попросить не индексировать страницы с любыми url параметрами и страницу /index.php, robots.txt:
    User-agent: *
    Disallow: /*?*
    Disallow: /index.php
    Ответ написан
    2 комментария
  • Как правильно настроить .htaccess?

    @dodo512
    Тут правильнее на стороне php реализовать нормальную работу с адресом.
    Но если это древний скрипт и лень ковыряться в нём, то можно попробовать так:
    RewriteEngine on
    
    RewriteCond %{QUERY_STRING} !^get=[a-zA-Z0-9-_]+$
    RewriteRule ^money\.php - [R=404,L]

    Ставить в начало файла .htaccess выше остальных правил.

    Свою страницу 404 можно указать с помощью ErrorDocument.
    ErrorDocument 404 /file.html
    Ответ написан
    Комментировать
  • Как правильно отправить POST запрос с CSRF токеном для Laravel?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    csrf-token из html не используется
    смотрите cookies которые присылает сервер при GET-запросе к https://promokod.pikabu.ru/shops/5ka
    в заголовках приходит Set-Cookie: XSRF-TOKEN=
    curl -L -I "https://promokod.pikabu.ru/shops/5ka"
    HTTP/1.1 200 OK
    Server: nginx
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Vary: Accept-Encoding
    Cache-Control: no-cache, private
    Date: Fri, 06 Oct 2023 12:56:29 GMT
    X-RateLimit-Limit: 60
    X-RateLimit-Remaining: 58
    Set-Cookie: XSRF-TOKEN=eyJpdiI6ImZuTllpTWRIb2ZDalF5.......TkyOWY3In0%3D; expires=Fri, 13-Oct-2023 12:56:29 GMT; Max-Age=604800; path=/


    Это значение и надо использовать для дальнейшего POST-запроса
    Ответ написан
    4 комментария
  • Как правильно получить данные с открытого API Едадил?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Это не открытое api, а внутренее (aka приватное).
    Технически использование его сродни парсингу сайта, с чем владельцы сайта как правило борятся.
    Соотв-но ваше "когда-как" может быть просто следствие работы антиспам системы.

    В остальном все советы и принципы такие же как при написании любого парсера
    1. Правильно повторяем все запросы к сайту, не теряя по пути загловки, куки, поля с данными, параметры запросов
    2. Ставим разумную задержку между запросами sleep/usleep
    3. Используем прокси при необходимости
    Ответ написан
    1 комментарий
  • Как правильно настроить htaccess под ПС?

    pro100taa
    @pro100taa
    Посмотрите Google Indexing API. Возможно, сможете настроить постоянное удаление страниц из индекса.
    Ответ написан
    Комментировать
  • Как правильно настроить htaccess под ПС?

    это совершенно нормально - для удалённых товаров отдавать 404. Если такие страницы светятся в отчётах, как проблемные - удаляйте их из поисковой выдачи.

    И кстати, переадресация на 404, если речь про внешний редирект (302 или 301) - это неправильно. 404 должно быть без редиректа.
    Ответ написан
    Комментировать
  • Как правильно настроить htaccess под ПС?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    У меня есть сайт, на котором появляются товары, под каждый товар создаётся страница.

    Правильно.
    Через определенное время, этот товар может быть удалён, а поисковый робот эту страницу уже просканирует и при повторном посещении в Вебмастере и в Гугл Консоли будут ошибки о несуществующих страницах.

    Как правильно настроить этот момент для SEO, чтобы не было проблем с поисковой оптимизацией ?

    Если Вы планируете позже продолжить продавать товар, то не удаляйте страницу. У Вас проиндексированная страница на которую было затрачено определенное количество времени на рост в ПС, а Вы ее удаляете... Пометьте товар "временно закончился, скоро появится" и предложите уведомить посетителя о возобновление продаж, таким образом Вы:
    - Сохраните поисковый трафик на эту страницу.
    - Есть определенный шанс, что пришедшие на эту страницу посетители - купят другой товар в Вашем магазине.
    - Есть определенный шанс заполучить контактные данные посетителя (уведомление о поступление товара в продажу), а затем попробовать продать ему уже другой товар.

    Если же, Вы не собираетесь возобновлять продажи товара, то никакие редиректы на 404 страницу делать не нужно, необходимо сразу отдавать удобную страницу с 404 кодом ответа. Под "удобной" я понимаю такую страницу, которая позволит человеку найти другой похожий товар и решить его задачу в рамках этой страницы, без лишних кликов.
    Ответ написан
    Комментировать
  • Почему не срабатывает бан IP по маске?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так посмотрите уже в документации что-ли, что значит HTTP статус 403. Тогда и поймёте, срабатывает ваше ограничение или не срабатывает.

    И да, для того, что бы запретить, Apache сначала должен коннект принять и обработать, а следовательно записать факт принятия и обработки в log файл. Если не должно быть коннектов вообще - блокируйте уровнем выше, на уровне предачи данных, то есть на сетевом уровне. iptables + ipset и прочие firewall-ы вам в помощь.
    Ответ написан
    Комментировать
  • Как убрать возможность переходить по файлам после .php?

    delphinpro
    @delphinpro
    frontend developer
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>


    Все запросы к несуществующим файлам будут отправляться на index.php
    Ответ написан
    4 комментария
  • Как на лету конвертировать единицы измерений?

    @leeroyjenkins176
    С помощью event.target определить, в какой группе полей возникло событие - в первой или во второй. Предположим, что во второй. Тогда:
    - в switch передаем значение input второй группы
    - полученное значение записываем в input первой группы
    Если событие вызвали поля первой группы, тогда все наоборот.
    Ответ написан
    3 комментария
  • Как НЕ выполнять условие при таче по UI элементам?

    Lapita12
    @Lapita12
    Тесты, тесты?
    void Update()
    {
        if (canExecute && (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) && !EventSystem.current.IsPointerOverGameObject(null, null) && !EventSystem.current.IsPointerOverGameObject(null, EventSystem.current.currentTouchEvent)) && !endGame)
        {
            canExecute = false;
            cooldownTimer = cooldownDuration;
    
            Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            directionKnife = mousePosition;
            mousePosition.z = 0f;
            GameObject knife = Instantiate(knifePrefab, mousePosition, Quaternion.identity);
    
            StartCoroutine(RotateKnife(knife));
        }
    }
    Ответ написан
    3 комментария
  • Как получить ответ от сервера с помощью cURL PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Там система защиты от cloudfare. Она отдаёт страницу с JS, который вычисляет и выставляет куки, затем перезагружает страницу с уже установленными куками. Тут либо получать эту страницу с JS и имитировать его работу, либо использовать headless-браузер.
    Ответ написан
    5 комментариев