• С самых азов до этичного хакинга. С чего начать и как не сбиться с пути?

    @dmshar
    Добавлю к сказанному коллегами. Если человек не умеет самостоятельно находить ответы на вопросы, которые уже тысячу раз задавали, то заниматься хакингом ему мягко говоря еще слишком рано.
    Вот и совет выработался первый и наверное в вашем случае главным - сначала освойте этот навык, найдите ХОТЬ ОДИН источник сами. Без этого навыка - устойчивого и отработанного - с поводырём или без, но специалистом, тем более в хакинге - точно не стать. А второй совет - попробуйте самостоятельно освоить найденную информацию. Не в формате видосиков с ютюба, от которых можно лишь "загорется", а в формате настоящего, ежедневного, нудного, тяжелого и весьма не хайпового штудирования. Которое способно очень быстро и кардинально ваше "возгорание" потушить.
    И вот если после этого ваш пыл не угаснем (что весьма вероятно, учитывая в том числе вашу загруженность, а также то, что еще до всякого хакинга информатику вам придется поднимать "с нуля", что есть не тривиальной и не с налета решаемой задачей) - вот тогда и думать о том, что-бы искать ментора-тьютора, который согласиться опекать вас в дальнейшем.
    Ответ написан
    2 комментария
  • Как можно максимально себя анонимизировать в сети?

    Adamos
    @Adamos
    Что же делать!?

    Выключить компьютер, выйти на прогулку, подышать свежим воздухом, отвлечься, вернуться.
    Взять лист бумаги и ручку и подробно, по пунктам, расписать причины, по которым ты считаешь это проблемой.
    Ответ написан
    21 комментарий
  • Можно ли передать POST запрос на 2 сраницы разом?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Замени ссылку https://yoomoney.ru/quickpay/confirm.xml на свой собственный php обработчик. В этом php обработчике вытаскивай данные из массива $_POST и далее сохраняй их куда надо, а дальше отфутболивай пользователя дальше на оплату обычным редиректом на адрес https://yoomoney.ru/quickpay/confirm.xml и с кодом 307. Важно (!) надо именно этим кодом, чтобы тело и метод запроса при редиректе не менялись.
    Ответ написан
    6 комментариев
  • Не получается выполнить регулярное выражение?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Не особо понимаю, что вы своей регуляркой хотели сказать, но вот так ссылка заменяется:
    $url = '${1}"https://test.com"';
    $test = preg_replace('~(<img[^>]+src=)"([^"]+?)"~', $url, $test);

    https://onlinephp.io/c/f221e
    Ответ написан
    Комментировать
  • Если JPG с компрессией 85% пересохранить еще раз с компрессией 85%, качество ухудшится?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если обсуждать конкретно приложение ACDSee то чорт его знает. Вообще JPEG кодек управляется большим набором параметров (progressive, chroma subsampling) и это всё идет вне самого параметра сжатия.

    Я думаю что после десятка пережатий картинка должна достигнуть некого стационарного состояния (аттрактор типа) и после этого уже не изменятся. Но достигать этого состояния явно не стоит.

    А к автору возникает здравый вопрос. Для чего собственно надо что-то пережимать? В мире и так много электроэнергии тратится впустую. Майнинг крипты и прочее. Зачем еще добавлять безсмысленного нагревания атмосферы?
    Ответ написан
    Комментировать
  • Как рассчитать сколько всего вариаций для слова может быть если менять регистр букв?

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

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Вам стороны света в смысле компаса или хотите отбрасывать тень в зависимости от освещенности ?
    Пример компаса https://dev.to/orkhanjafarovr/real-compass-on-mobi...
    Ответ написан
    Комментировать
  • Не проходит авторизация?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Прочитайте внимательно про биндинг, а точнее про именованные и неименованные псевдопеременные, а то у вас каша получилась.
    Ответ написан
    Комментировать
  • Насколько безопасны cookies?

    Adamos
    @Adamos
    А взять и прочитать хотя бы соответствующую статью в Википедии - не пробовал?
    Ответ написан
    2 комментария
  • Это можно считать микросервисной архитектурой?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Это не микросервисы. Это всего лишь динамическая загрузка кода в контекст одного-единственного приложения. Если в подгруженной библиотеке случится какая-то фатальная ошибка (типа разыменовывания нулевого указателя), то вся программа благополучно помрёт. А в микросервисах падение одного микросервиса не мешает другим продолжить работать (и их специально пишут и организовывают так, чтобы подобное падение не приводило к остановке всего сервиса).

    Микросервисы - это не про распилить приложение хоть как-нибудь на несколько файлов. Это про разделение функций, резервирование, масштабирование и отказоустойчивость. А также про непрерывную разработку и раскатку.
    Ответ написан
    4 комментария
  • Почему не работает JS (новичок)?

    Anopeng
    @Anopeng
    Веб-программист, учу фронт и бек
    JS чувствителен к регистру
    querySelectorALL - неправильно
    querySelectorAll - правильно
    Ответ написан
    Комментировать
  • JS в качестве БД?

    neuotq
    @neuotq
    Прокрастинация
    Сразу отмечу: писать свой велосипед, кроме как для получения личной практики - не советую. Будет бесконечное число подводных камней, костылей и тп, которые разработчики различных БД уже прошли.
    А так, если нужно простое решение советую обратить внимание на SQLite. Там не требуется отдельный сервис/демон у вас должна быть реализация под ваш язык/фреймворк/среду и она будет работать.
    Достаточно надёжное решение.
    PS отдельно отмечу, возможно, вы имели ввиду совсем другое.
    Ответ написан
    1 комментарий
  • JS в качестве БД?

    @rPman
    javascrip - это инструмент, json - это формат, а база данных - это место хранения, инструмент и формат одновременно.
    Т.е. тебе нужно еще понять где ты будешь хранить данные, и вот от сюда и полезут проблемы.

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

    Если твой сервер однопоточный (например если речь идет про javascript то бакэнд серверный можно писать на nodejs, с оговорками про асинхронность) то в принципе можно хранить все данные в файлах, и не сильно заморачиваться с блокировками и транзакциями, а из-за них основные проблемы возникают, зачем люди к готовым базам данным идут.
    Если тебя это все еще интересует,
    веди работу с базой данных из отдельных функций (например объединив их в класс), по окончанию работу каждой чтобы данные в файлах были в консистентном - правильном состоянии, перезапись делать через временный файл с переименовыванием в оригинальный после всех изменений, это аналог транзакций, это даст гарантии по сохранности данных при смерти внезапной скрипта, например окончилась память или место на диске, само собой проверять это при следующем запуске и давать возможность вручную разрулить. Если сумарный объем базы больше мегабайтов, то не храни все в одном файле, первый уровень разделения - по типам данных, например раздели данные для редких изменений и постоянных - списки товаров и корзина, кстати цены можно так же отдельно хранить, само собой тебе тогда придется идентификаторы заводить и следить за их уникальностью - вот уже сиквенсы пошли (кстати есть алгоритмы uuid где каждый новый гарантированно уникальный без необходимости централизации и чего либо хранения), если же данных совсем много и часто меняются случайные из них то храни каждый объект в своем файле, файловая система справится, но лучше все же освой нормальные БД

    Поэтому тебе правильно посоветовали, используй sqlite, минимум усилий на обслуживание и настройку (база данных = файл, никакого сервера и при этом полноценный sql с почти бесплатной миграцией на любую sql базу данных в будущем)
    Ответ написан
    Комментировать
  • Как сделать, чтоб в моем компьютере и телефоне не лазили посторонние?

    @LuchS-lynx
    инженер-ПТО
    Если бы у меня были такие проблемы...
    1. Для начала нужно оценить мамкин ли это куллхацкер или профессионал, который опирается на инфраструктуру от гос-ва, потому что последний, если Вы ему будете нужны, все равно получит информацию о Вас, даже если придется устраивать маски-шоу.
    2. В случае если это мамкин кулхацкер:
    2.1 Меняем роутер на более новый и современный.
    2.2 Меняем железо на ПК на то, которое поддерживает GPU Passthrough. На него ставим Proxmox, настраиваем виртуалку с пробросом видеокарты и ставим уже в виртуалку Windows, хотя лучше бы ставить Linux, тем более что гос-во с 2025го года в большинстве учреждений связанных с гос-финансированием запрещает устанавливать софт не отечественный, а значит это повлияет на тех, кто будет учиться и обмениваться файлами с такими учреждениями. Смените дистрибутив Windows обязательно.
    2.2 Можно поменять смартфон, можно перешить его, но в любом случае я бы сбросил к заводским настройкам и поменял аккаунты и постарался сменить соцсети. Возможно у Вас взломаны текущие аккаунты. Если нельзя по каким-то причинам отказаться от соцети, то нужно завести новый аккаунт и максимально защитить его через аутентификацию через смс и все в том же духе. Если есть что-то важное, то нужно вытаскивать оттуда.
    2.3 Важную информацию типа фоток и файлов лучше всего поместить в виртуалку у которой отобрать выход в сеть интернет, заблокировать на уровне роутера, и сбрасывать вручную файлы туда, что бы на смартфоне и ПК не было этих файлов. Так же я бы перезакачал софт. Стараясь скачивать его с официальных источников. Если интересует трекер, то под него выделить отдельную голую Винду, которой запретить выход в локальную сеть (только интернет) и ни в коем случае не выходить в соцсети через эту пиртуалку. Своего рода сделать из нее песочницу. Раз в неделю через бэкап делать полный откат.
    2.4 Настроить браузер а автоматическое очищение кэша и кук файлов при выходе, да это будет неудобно, т.к. при каждом заходе в соцсеть придется вводить логин и пароль заново, но если за Вами следят...
    2.5 Смартфон настроить на жесткий уход в сон при выключенном дисплее. Автоотключение дисплея через 1 минуту. С ПК то же самое. Поставить пароли на вход в обоих случаях.
    2.5 Если и после этого информация будет попадать в чужие руки, то я обратил бы внимание на круг близких. Не является ли из них кто-то кротом.
    Ответ написан
    5 комментариев
  • Существует ли, утилита для Linux с выводом программ для их запуска?

    Adamos
    @Adamos
    Внезапно, в том самом mc есть т.н. "Меню пользователя", куда ты можешь накидать себе часто используемых программ, прописав им произвольные названия. Вызывается по F2.
    Ответ написан
    Комментировать
  • Как правильно и лучше?

    Adamos
    @Adamos
    Вариант с колбэком требует от того, кто будет пользоваться классом, слишком всерьез разбираться с ним.
    Три разных метода логичны, поскольку они выполняют три разные действия и это естественная, ожидаемая логика.
    А вот их общую низкоуровневую логику можно вынести в четвертый метод, приватный.
    Ответ написан
    Комментировать
  • Как сложить значения массива по условию?

    0xD34F
    @0xD34F
    $grouped = [];
    
    foreach ($items as $n) {
      $grouped[$n['type']] ??= [
        'type' => $n['type'],
        'typeAmount' => 0,
        'amount' => 0,
      ];
    
      $grouped[$n['type']]['typeAmount'] += $n['typeAmount'];
      $grouped[$n['type']]['amount'] += $n['amount'];
    }
    
    $grouped = array_values($grouped);
    Ответ написан
    Комментировать
  • Редактирование ячеек таблицы HTML и обновление базы sqlite3?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Процесс сохранения в базу имеет 2 взаимосвязанных части:
    • клиентская, которая обрабатывает ввод данных пользователем, сериализирует введенные данные данные (по факту - приводит к одному из стандартов, например json), после чего отправляет данные на сервер.
    • Серверная часть получает данные, если нужно как-то их обрабатывает, после чего сохраняет в базу.

    Судя по коду (с js`ом я, увы, на вы) при вводе символа в ячейку, ее содержимое отправляется post-запросом по определенному адресу.
    Как этот запрос обрабатывается на сервере - непонятно, т.к. код вы не привели. В общем случае, это должно происходить так:
    1. Валидируются данные
    2. Происходит подключение к базе
    3. Данные подставляются в запрос (подготовленные запросы, PDO (актуально для php, указанного в тегах) или orm)
    4. Запрос выполняется
    5. При необходимости отдается ответ клиенту

    P.S. К тому же, непонятно как вы определяете, какие данные нужно изменить. Чтобы изменить запись в базе нужно указать какую именно запись вы собираетесь изменить (например с помощью id или какого-то другого уникального поля). При этом, поскольку вы отправляете только одну ячейку, сделать это невозможно, поскольку поле может содержать неуникальные значения по типу цены (абстрактный пример), которая может быть одинаковой для разных товаров.
    Ответ написан
    2 комментария
  • Почему проверка на сессию работает некорректно?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    потому что опечатка
    $_SEESION['user']
    $_SESSION['user']
    Ответ написан
    Комментировать
  • PHP file_put_contents дописывает в файл или перезаписывает его?

    @rPman
    file_put_contents(... FILE_APPEND) дописывает содержимое в конец без пересоздания и перечитывания файла
    это просто упрощенная запись конструкции
    fopen(...,'a');fwrite(...);fclose(...);
    если FILE_APPEND не указывать, то используется режим типа w+ (существующие файлы обрезаются в 0 размер, не существующие ошибки не вызывают)
    p.s. важное замечание file_put_contents FILE_APPEND работает очень медленно, синхронизируя каждую запись с диском, я помню переписывал код на использование fopen/fwrite плюс там можно гибко задавать буфер записи

    upd. на самом деле там используется просто режим 'a' и 'c' и чуть больше проверок
    С интересом обнаружил по исходникам что file_put_contents умеет писать array, объединяя без разделителя значения и пропуская ключи.... век живи век учись, не знаю зачем но смешно
    Ответ написан
    2 комментария