Задать вопрос
  • Почему некорректно работает квота на папку?

    @rPman
    с высокой вероятностью это глюк, они неверно определяют символические ссылки, считая их каталогами, т.е. один и тот же файл могут посчитать несколько раз (а есть еще циклические, там один и тот же каталог будет бесконечно считать до лимита длины пути)

    в каталоге \users размещаются профили пользователей windows, там символические ссылки используются активно, удалить их нельзя
    Ответ написан
    Комментировать
  • Возможна ли sql инъекция?

    @rPman
    почти наверняка будут глюки при использовании utf8 или любой другой мультибайтовой кодировки, и формировании строки с неправильной комбинацией символов, так как mysql_escape_string не будет их считать опасными (она вообще только для однобайтовых кодировок).

    Чтобы воспользоваться уязвимостью нужно серьезно зарыться в исходники php или mysql и понимать как обрабатываются ими мультибайтовые кодировки.

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

    @rPman
    в твоем случае просто - делать i--, само собой, если условие пропуска содержит учет номера шага, то для этого завести дополнительный счетчик настоящих шагов

    Если что под твою задачу лучше делать цикл while и считать количество 'новых слов' а не количество шагов, зачем тебе эти шаги
    Ответ написан
    Комментировать
  • Как пробросить порты системы за nat сетью?

    @rPman
    Либо гнать данные через vps-ку, используя ее как сервер посредник, либо настроить upnp и работать как обычно (upnp позволяет настраивать перенаправления портов на роутере автоматически).

    Либо воспользоваться технологией STUN, в ней машины за NAT открывают udp соединения с третьей машиной (твоя vps) а затем, имея на руках порты на роутере, подключаться к ним напрямую минуя vps-ку (udp это позволяет)
    Ответ написан
    Комментировать
  • Как работает NFC на физическом и программном уровнях?

    @rPman
    Да, если nfc использовать по назначению - для передачи метаинформации и как буквально метку. Сами же данные передавать можно по wifi или другим беспроводным технологиям (например мобильные 3g/4g/5g/...).

    nfc метка должна содержать информацию о подключении, к роутеру (который в твоем устройстве или рядом, это же не важно где физически он будет размещен) а устройство должно уметь это считывать и реагировать соответственно.

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

    Протоколы на компьютере будут сетевые, т.е. это либо сетевой диск либо к примеру webdav, к сожалению красиво автоматически мало что поможет настраивать подключение, но можно и на компьютере держать небольшое приложение, которое будет мониторить наличие устройства и подключать его автоматически.

    p.s. делать так бессмысленно, с появления таких приложений как syncthing, все это не нужно. Настраивать подключение через qr кодо дело на 1 минуту, софт опенсорс на любое железо и ос, не требует сторонние сервера и не копирует туда данные (по умолчанию используется сервер для подключения устройств за nat но можно свой установить)
    Ответ написан
  • Почему мой компьютер не может установить соединение с игровыми серверами?

    @rPman
    Как проверяешь наличие интернета?
    Работают ли ping? tracert и mtr?

    Что из себя у тебя представляет интернет? серый ли ip? что за настройки на роутере? можешь ли ты без него подключиться (если медь заходит в дом то это обычно реально).

    Включено ли у тебя в настройках браузера - автоматическая настройка (в этом случае настройки прокси сервера будут автоматически получены у провайдера, мало ли он так настроил, а без прокси не работает, я такие конфиги видел)

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

    @rPman
    В другом ответе все необходимое уже сказано, добавлю

    - организационный, вы пускаете за один и тот же компьютер людей по очереди, определяя следующего человека вручную.
    Развиваем идею:
    * добавить удаленный доступ по rdp/vnc/rustdesk/... чтобы пользователям не требовалось физически подходить к компьютеру
    * добавить автоматическое управление правами у пользователей (для rdp это штатные пользователи ОС, скрипты будут по нескольку строчек хоть на батниках), отбирая права у всех и выдавая право очередному пользователю по списку
    Ответ написан
    Комментировать
  • Как открывать много TCP соединений и поддерживать их?

    @rPman
    Назначают несколько ip адресов на один интерфейс, и при открытии слушающего сокета, указывают разные ip адреса (обычно указывают 0.0.0.0 - слушать все интерфейсы, но можно указать конкретный). ОС это переваривают корректно.

    Подводные камни - большое количество слушающих сокетов тратят ресурсы (ram).

    У тебя неправильная архитектура - не нужно делать подключение 'все со всеми', делай граф - 'каждый с некоторыми', уведомления передавай через соседей, а для передачи самих данных уже открывай прямое соединение на это время и отключайся. Таких сетей полно, например dht, bitcoin p2p,...
    Ответ написан
    Комментировать
  • Возможно ли установить Windows XP на внешний жесткий диск?

    @rPman
    Невозможно, ни winnt, ни win2k и никакую другую win нельзя поставить на внешний носитель, это специальное ограничение от майкрософт. Начиная с win7 можно ставить на usb (windows 7 to go, гуглить easyuefi) Теоретически это из-за того что своп файл не может находиться на removable drive, отключить своп невозможно (в gui отключение фиктивное, windows создает его в c:\windows).

    Есть winpe сборки от сообщества (основаны на той windows в которой запускается установщик) для запуска приложений, вполне функциональные, на их основе делают всякие реаниматоры. Но на них большая проблема установки драйверов, мало какие могут работать (gpu например нет, только штатный vga)

    p.s. если прямо очень надо старые приложения запускать, ставь linux, запускай виртуалку и в ней уже windows. При должном красноглазии виртуалка qemu влезает в initramfs (т.е. установка будет что то типа десяток мегабайт с загрузчиком grub). А это значит система запустится практически на любой машине, с минимальными затратами ресурсов на виртуализацию. И да, нормальных драйверов на 3d графику не будет

    upd. есть способ, загрузка winxp с ramdisk, который в систему загружает grub, который в свою очередь запущен с флешки (собственно там уже пофиг, хоть по http загружай и вообще всю установку по сети pxe).
    В общем случае сначала систему устанавливают (только pro ревизии), затем клонируют на .vhd диск, и настраивают запуск с ramdisk с помощью драйвера https://github.com/Sha0/winvblock который нужно изначально интегрировать в установку

    Подробных инструкций мало, гугли, они 'почти все протухли', читай github.

    Недостаток логичный (он же достоинство) - вся установка заморожена во времени, все изменения остаются в оперативной памяти, но к примеру при использовании перемещаемых профилей, пользовательские настройки можно хранить в сети или тут же на флешке, так же можно запилить скрипт, который будет при корректном выключении машины делать снапшот реестра... ставить новые приложения так конечно будет проблематично.

    Заявлена поддержка 64-битных ревизий winxp/2k и даже vista что очень неплохо
    Ответ написан
  • Как визуализировать магнитное поле?

    @rPman
    Попробуй phet interactive simulation, судя по видеодемонстрациям это очень простая и в то же время функциональная система для обучения, как я понял магнитные поля там есть для постоянных токов в проводниках (собирай из сегментов свою конфигурацию)

    Для переменных токов нужны очень и очень сложные и дорогие пакеты.
    Ответ написан
    5 комментариев
  • Как сделать так, чтобы при нажатии на форму не обновлялись данные в другой?

    @rPman
    Если у тебя 'устаревший' http rest подход с функционалом server side only (т.е. браузер не будет требовать javascript) то лучшим решением в твоем случае будет использование фреймов. Размести каждую или эту конкретную форму в своем фрейме - тег IFRAME

    В этом случае, если нужно будет из одного фрейма по ссылкам менять адрес всей страницы, то у тега A нужно будет установить атрибут target=_top

    p.s. альтернатива, сделать единую форму, и по нажатию разных кнопок отправлять содержимое всех полей, устанавливая их значение при следующем открытии страницы. Определить, какую кнопку нажал можно по ее имени (в $_POST будет установлено значение name для той кнопки, которая была нажата).
    Ответ написан
    Комментировать
  • Как включить JavaScript в макросе на VBA?

    @rPman
    Если говорить универсально, то для этого требуется не конкретно javascript а полноценный браузер.

    Посмотри, нет ли там компонента WebBrowser (я давно не лез в эти адовые дебри ископаемых технологий майкрософта), он использует штатный internet explorer сейчас это 11 версия, и он будет ругаться что переходите на edge (придется удалить эту компоненту-уведомление в панели управления в свойства браузера и это не просто, она будет возвращаться сама).

    Но нужно понимать что если владелец сайта поставит проверку на IE да и банально использует несовместимые фичи современных браузеров, что вероятнее, то работать как ожидается не будет.

    Но сам браузер можно использовать как запускалку javascript, формируя страницу самостоятельно (сформировав ссылку через data uri например) либо использовать функционал добавления скрипта.

    p.s. excell и vba самый худший способ решать твою задачу.
    Сейчас такие задачи решают с помощью selenium и современных языков программирования
    Ответ написан
  • Очень плохо работает мобильный интернет?

    @rPman
    выглядит так будто при нагрузке поднимается температура, и отходит контакт антены на плате, если я верно понимаю это лечить нереально (оно все там на плате сразу)

    p.s. случайно телефон не падал в воду? или активно под дождем и помещениях влажных находился? ну к примеру на улице забыли на сутки, даже под крышей.
    Ответ написан
    Комментировать
  • Оптимальный вариант одноплатного компьютера с 2 Ethernet-портами?

    @rPman
    Существуют x86 материнки со встроенным и не только процессором формфактора mini-itx/nano-itx/pico-itx, у меня лежит mitx 2014-го года с двумя гигабитными портами и встроенным intel j 1800, по скорости она быстрее любой современной малинки, стоила дешевле тогдашней малинки и аналогов (у них всегда цена завышена). При этом это стандарт ATX для подключения питания (можно подключить огромный по меркам материнки стандартный atx блок питания), стандартные порты для RAM, для подключения плат расширения типа GPU, usb/hdmi/dsub/dvi/... это x86 софт работает весь, есть адекватный биос и адекватные возможности.

    в наших текущих закрытых реалиях достать современное железо сложно, только если китайцы что предложат. Гугли aliexpress 2 ethernet mini itx или nano itx, предложений там тьма
    Ответ написан
  • Как проверить наличие слова в файле txt (fs)?

    @rPman
    Что значит сверять, давать ответ есть/нет? слово это строка с любыми символами (пробелы, знаки препинания) или набор букв на каком то языке с игнорированием регистра и вспомогательных символов (встречаются в других языках), а кодировка у файла?

    Если просто строка без учета всего иного, то читаешь файл в память fs.readFileSync(filePath, 'utf8'); где utf8 - ожидаемая кодировка файла. Наличие слова в этой строке можно простым регулярным выражением new RegExp(`\\b${targetWord}\\b`, 'gi') и методом regexp.test(строка_с_содержимым_файла). Соответственно fs подключить require('fs').

    Если пользователь будет вводить что угодно (а не слово, например символы \ которые часть регулярного выражения), то можно ограничить его ввод дополнительным регулярным выражением, проверяя и ругаясь соответственно.
    Ответ написан
    Комментировать
  • Скачать все видео автора тик ток?

    @rPman
    Видео отлично качает консольная утилита yt-dlp (устанавливать в linux из pip install в windows с офф githubоно же умеет качать и видео пользователя но именно с тикток это сейчас сломано (само собой тикток борется с качальщиками), я не пробовал самый последний релиз возможно пофиксили, попробуй)

    Еще момент, с российских ip тикток кастрирует и ломает выдачу, скрывает популярных авторов в т.ч. из поиска (вот пример @wannabeteacher поищи как пример), поэтому подбирай локацию хостинга скриптов.

    p.s. у тикток есть api, просто разберись с ним и используй
    https://developers.tiktok.com/doc/tiktok-api-v1-vi...
    Ответ написан
    2 комментария
  • Как ограничить доступ к странице сайта на устройстве пк браузеров?

    @rPman
    Открывамем гугл, пишем github browser mobile detector
    получаем ссылку на почти сотню проектов, отсортированных по популярности, первый какраз на php
    Ответ написан
    Комментировать
  • Lvm versus fsck - как решить проблему курицы и яйца?

    @rPman
    в linux есть btrfs и zfs файловые системы, с функционалом управления разделами и дисками. Первый хоть и рекомендован к работе но имеет незначительные проблемы (я не встречал но они заявлены), второй имеет высокие требования к ram и дает много накладных расходов на диски, и не рекомендуется для hdd (точнее можно, если там есть дисковый кеш большой, встроенный или в контроллере).

    lvm однозначно на помойку, его снапшоты это тормозной ад, когда как btrfs/zfs они бесплатны.

    К сожалению переход lvm+ext4 -> btrfs можно сделать только через backup format restore. В похожих ситуциях я несколько раз делал последовательное уменьшение разделов, в пределах свободного места на диске, переносил данные снова уменьшал... Долгий и опасный процесс (вероятность потери данных при сбое во время упаковки и сдвига раздела - высокая) но когда вообще нет возможности сделать оперативно бакап и восстановления - подойдет. Но лучше выбирай бакапы, они так и так нужны.

    Недостатки btrfs/zfs там же где и их достоинство. Это Copy-On-Write файловые системы, каждая следующая запись происходит в новое место, базы данных в таких случаях сильно фрагментируются (на самом деле не на столько все плохо но на hdd это заметно), и само собой есть возможность это отключить для выбранных каталогов (снапшоты само собой нормально перестанут работать с этими файлами).

    upd. Отключи резет физически и научи комбинации ctrl+shift+alt+prnscr.. +u, ...+b,... +s. prnscr отжимать и нажимать следующую букву, не отпуская ctrl+shift+alt, затем отпускать все кнопки и повторять но последний символ другой.
    u - перемонтирует все маунты принудительно в readonly
    s - запускает sync (формально он не нужен, так как после readonly он уже работает, но я могу придумать комбинации конфига ext4 и опций монтирования когда это не так, с другой стороны времени на этот синк дать нужно, поэтому пока пользователь жмет кнопку - процесс идет)
    b - перезагрузка, даже если все висит (я не помню когда это не сработало, даже если ядро в панике, хотя ситуации придумать можно)

    Подробнее - не отпуская ctrl+shift+alt, нажимаешь и затем отжимаешь prnscr и нажимаешь символ b/u/s/... и только после этого отпускаешь ctrl+shift+alt (иначе он не поймает следующий prnscr)

    вот первая попавшаяся инструкция (shift нажимать не надо только если у тебя в режиме терминала, нажимай всегда не попутаешь, та же фигня чтобы переключиться между текстовыми терминалами ctrl+alt+F1...7 один из них графический, но в режиме графического нужно добавлять shift)

    во всех linux что я смотрел, по умолчанию это работает (но есть шанс что облачные ядра для гостевых виртуалок максимально кастрированы и это там отключено, что логично)

    если открыт консольный терминал, то нажатие этих кнопок будет выдавать текстовые сообщения о процессе (там ее есть комбинации, советую погуглить, но они нужны тем кто ядро отлаживает)

    В результате, если проблема не в драйвере файловой системы или дисковой подсистему, то перезагрузка получится не ломающей файловую систему (базы данных все еще могут быть сломаны, но тут уже ничего не поможет, с другой стороны это происходит очень редко)
    Ответ написан
  • Для чего нужен линейный вход и линейный выход на камере видеонаблюдения?

    @rPman
    Оба порта - вход для источника звука, один для микрофона, другой для line in, например от звуковой карты компьютера. (один требует чтобы устройство меняло свое сопротивление, т.е. пассивное, а другое генерировало напряжение).
    Ответ написан
    Комментировать