Задать вопрос
  • NGINX и прокси?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вам надо учить.
    Умение формулировать.
    Ваш вопрос.

    P.S. Вроде стиль выдержан, поэтому должно быть понятно автору.
    Ответ написан
    Комментировать
  • Как заставить браузер сохранять пару логин-пароль, если в форме только пароль?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Оставьте регистрацию в таком разделённом виде, а вот форму логина сделайте из 2-х полей. Тогда и запоминать будет оба поля.
    Ответ написан
    1 комментарий
  • Как подключить роутер mikrotik к провайдеру, который выдаёт такие же IP, как и во внутренней сети?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А почем бы на время проблем не поменяться на IP 192.168.0.2?
    Разумеется исправив default gatewat в настройках DHCP-сервера этого Mikrotik-а.
    Ответ написан
  • Как проксировать SSL за reverse proxy?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А вас всего 3 варианта. Или физически доставать/копировать сертификат из докера, и пользоваться им на этом gateway. Или генерировать ещё один сертификат в Let'sEncrypt - и использовать его. Или выделять на gateway для этого хоста отдельный IP (или нестандартный порт), и весь трафик без обработки пропускать посредством stream { server {...} } (что не сильно отличается от iptables с DNAT).
    Ответ написан
  • Почему через post не передаются данные?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    IMHO, у вас в 'body' текст, который совсем не JSON.
    Ответ написан
  • Как правильно написать регулярное выражение в PHP и задать атрибуты?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если в $matches[0] хранится не массив, а обычная строка (с одной картинкой!), то вот:
    if (preg_match('/<img[^>]+?alt="([^">]+)"/', $matches[0], $regs)) $matches[0] = str_replace('data-fancybox="gallary"', 'data-fancybox="gallary" alt="{$regs[1]}"', $matches[0]);
    Ответ написан
  • Восстановление доступа к linux машине yandex cloud?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Можно скопировать пароль с нового ВМ на старый ВМ (файл /etc/shadow).
    Там каждая строка начинается в имени пользователя, и в этой-же строке хранится пароль.
    Скопируйте целиком строку, переписав её в старом ВМ - и вуаля, можно заходить с этим паролем.

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    $variable = $info2['hls'];
    Ответ написан
    1 комментарий
  • Как вставить JS переменную в PHP код?

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

    Давайте придумаем аналогию этой хотелки: хочу, что бы пушка вон того танка стреляла с крыши моего автомобиля. При этом переставлять пушку не будем, она так и останется на том танке, но в случае необходимости с моей крыши она стрелять ДОЛЖНА, это не обсуждается. Вот хочется мне так.

    P.S. Нет, конечно, через AJAX (XMLHttpRequest) можно обратиться к серверному PHP, передать ему значение переменной one, получить сгенерированный ответ и вывести его на странице через document.write().
    Ответ написан
    Комментировать
  • Nginx - как включить старый алгоритм шифрования?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Может это поможет?
    Ответ написан
    Комментировать
  • Из CMD блокировать / разблокировать IP сетевого принтера?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Добавить маршрут через несуществующий роутер: route add 10.10.10.2 10.10.10.128
    Удалять командой: route del 10.10.10.2
    Первый IP - тот, что принадлежит вашему принтеру.
    Второй IP - любой адрес, _НЕ_ существующий в вашей сети.
    Согласно этой настройке трафик должен уходить через роутер, которого нет. И он никуда не дойдёт. При этом остальная сетью будет работать как раньше.

    Можете попробовать команды прямо в консили Windows, будет работать. Конечно - запускать с правами администратора...
    Ответ написан
    Комментировать
  • Access.log, nginx: нормально ли, что заголовок "host" пустой в запросах?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Судя по логам, ваш Nginx на HTTP-запрос отдаёт полноценную страницу, а на HTTPS-запрос - не отдаёт страницу, а делает пересылку (HTTP code 301) на другой URL (на какой именно - в логах не показывается). Ищите, где в конфигах или в скриптах делается такая пересылка, видимо её быть не должно.
    Ответ написан
    Комментировать
  • Как из preg_match получить ссылку на фото?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    $pattern1 = "#<img[^>]+src=([\"'])([^>]+)\1[^>]*>#s";
    preg_match($pattern1, $file, $mathes1);
    var_dump($matches1[2]);
    Ответ написан
    Комментировать
  • Как зарегистрировать пользователя и не попасть в спам?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Разумеется форма перед отправкой проверочного письма рассылателю - проверяет regexp-валидность, MX-запись и существование такого E-Mail аккаунта (через SMTP-сессию).

    Существование всех E-Mail адресов, куда будет сделана рассылка - это да, это проблема. Но и их можно проверять (в SMTP-сессии), ценой быстроты самой отправки, конечно.

    Ну и разумеется сразу нужно бронировать побольше IP-адресов для SMTP-сервера, потому что с ними будут бороться (согласие на получение рассылок лично вам никто не давал, так?).
    Ответ написан
    1 комментарий
  • Mikrotik странная ситуация?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В консоли Mikrotik сделать /export, и искать настройки для отваливающихся компьютеров (по IP ии MAC).

    Можно отключить IP-адрес 12-го порта, а на отвалившихся компьютерах сделать arp /d *, но явно "это жу-жу - не спроста"...
    Ответ написан
  • Почему тормозит веб сервер?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так вам же и Apache ругается
    WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
    , и Nginx ругается
    [mpm_prefork:error] [pid 70323] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
    на одно и то же, а вы в упор не видите?

    База данных тоже ругается
    HINT: See server log for query details.\nCONTEXT: while rechecking updated tuple (4,118) in relation "oc_file_locks"
    , один запрос обновляет записи (и этим заблокировал таблицы), другие запросы ждут окончания блокировки и не могут дождаться.

    Кстати, в логах видны $1, $2 и т.д. Это вы заменили, или это база данных так запрос видит? Или это в коде ошибка, и в запрос вообще не подставляются нужные значения?
    И ещё, почему "lock" вместо кошерного SQL-ного `lock`?
    Ответ написан
    3 комментария
  • Сайт не может обработать ошибка 500 php?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Возможность коннекта к базе данных тоже нужно отслеживать:
    $link = mysqli_connect($host, $user, $pass, $name) or die("Can't connect to MySQL!");
    Ответ написан
  • Атака на http сервер Apache, Постоянные запросы с IP из сети, Как избавиться?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Судя по приведённым логам, ваш HTTP-сервер считает, что абсолютно все-все-все запросы предназачены ему. При этом он не отвечает 404-ой ошибкой на совершенно чужие имена доменов (например nanqiang.vip и httpbin.org). То есть у вас HTTP-сервер настроен в режиме "default server", когда запрос с абсолютно любым доменным именем считается приемлемым, и обрабатывается штатно (читаются файлы, генерируется содержимое, вся эта нагрузка на CPU).

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

    Конечно это не избавить от таких спамеров, но так хотя-бы сервер будет настроен более правильно (будет меньше нагрузка на CPU), а спамеры будут получать мгновенный отлуп в виде ошибки.

    P.S. Вполне возможно на вашем IP-адресе (очевидно на 80-ом порту) раньше работал proxy сервер. И те компьютеры в сети Интернет, которые были настроены на proxy на этом IP-адресе, до сих пор пытаются им пользоваться как proxy сервером. Правда полноценного хождения по WEB-сайтам через ваш сервер у них уже не получается, но они все равно пытаются (настройку пока не отменили). Остается терпеть... Или сменить IP-адрес. Или перейти на 443-ий порт.
    Ответ написан
    Комментировать
  • Почему перестает работать DNS?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    На 192.168.122.2 видимо нет DNS-а? Тогда после скрипта сделайте команды:
    iptables -I FORWARD -i enp2s0 -s 192.168.122.2,188.242.0.0/16 -p udp --dport 53 -j ACCEPT
    iptables -I FORWARD -i enp2s0 -s 192.168.122.2,188.242.0.0/16 -p tcp --dport 53 -j ACCEPT


    Если сработает и нужно вставить эти команды в скрипт - поменяйте оба "-I FORWARD" на "-A FORWARD".

    P.S. Или удалите из скрипта строки с "--dport 53".
    Ответ написан