• Как защититься от таких инъекций или как они называются?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Тег <script> не имеет ни малейшего отношения к mysql.
    Наличие этого тега в базе данных никакой инъекцией не является.

    "Инъекция" будет только если этот тег будет выведен внутри HTML кода как есть. Называется XSS
    "Инъекция" которая относится к mysql называется SQL инъекция, и чаще всего позволяет прочитать из БД любые данные. Скорее всего является неактуальной для данного сайта, поскольку там просто нечего читать.

    Чтобы защититься от XSS, надо использовать htmlspecialchars() при выводе данных в HTML
    Чтобы защититься от SQL инъекций, надо использовать для работы с БД подготовленные выражения
    Чтобы не "совали" всякий мусор, надо использовать защиту от спама, например капчу.
    Ответ написан
    Комментировать
  • Почему не получается импортировать таблицу через консоль на Ubuntu сервере?

    @galaxy
    If you are already running mysql, you can execute an SQL script file using the source command or \. command:

    mysql> source file_name
    mysql> \. file_name


    https://dev.mysql.com/doc/refman/8.0/en/mysql-batc...
    Ответ написан
    Комментировать
  • Какой из текстовых редакторов Linux умеет работать по FTP?

    @rPman
    докину варианты, в linux есть проект fuse, позволяет монтировать файловые системы, описываемые простой библиотекой, работающей как обычное приложение в userspace, на основе его сделана поддержка всяких экзотических ситуаций, в т.ч. работа по ftp - ftpfs (идет штатно с любым линукс), так же есть sshfs для доступа по ssh, avfs для архивов (сюда же fuse-zip и archivemount) или экзотический winregfs для чтения файлов реестра windows как файлы и т.п. десятки библиотек идут по дефолту в репозитории.

    монтируешь в каталог без root и пользуешься как локальными файлами из любых программ
    Ответ написан
    4 комментария
  • Нужно ли как-то обрабатывать код перед записью его в БД через PDO?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Вы понимаете, что делает каждая строка в вашей найденной супер-функции?

    // убираем концевые пробельные знаки (пробел, таб, переводы строк и т.п)
    $value = trim( $value );
    
    // преобразуем строку в строку, да еще с подавлением ошибки O_O. Даже не знаю что сказать
    @strval($value)
    
    // убираем все символы кроме кодов с 20 (пробел) по FF
    $value = preg_replace("/[^\x20-\xFF]/","",@strval($value)); 
    
    // Убираем html теги
    $value = strip_tags( $value );


    Вот теперь сами и скажите – вам всё это нужно делать?

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

    Тут нужно понять, что вы имеете ввиду под вредоносным кодом.

    SQL инъекции тут не будет.
    HTML код загрузить можно. И если вы не будете его обрабатывать при выводе на страницу, он сработает (там может быть какой-то js скрипт).
    Но это совершенно не значит, что вам нужно искать какую-то мега-универсальную функцию очистки данных.
    Всегда нужно смотреть по ситуации. Например, в форме комментирования могут быть разрешен некоторый набор html тегов для форматирования сообщения (как, например, на этом сайте), и применять не глядя strip_tags ко входным данным, будет ошибкой.
    На международном сайте могут регистрироваться люди с именами, включающими символы, которые вы запретили (/[^\x20-\xFF]/).

    Короче, ко всему и всегда нужно подходить с умом.
    И никогда не копипасти код из интернета, если не понимаешь каждую строчку.
    Ответ написан
    4 комментария
  • Важен ли return в main?

    The C programming language allows programs exiting or returning from the main function to signal success or failure by returning an integer, or returning the macros EXIT_SUCCESS and EXIT_FAILURE. On Unix-like systems these are equal to 0 and 1 respectively.[3] A C program may also use the exit() function specifying the integer status or exit macro as the first parameter.

    The return value from main is passed to the exit function, which for values zero, EXIT_SUCCESS or EXIT_FAILURE may translate it to “an implementation defined form” of successful termination or unsuccessful termination.

    Apart from zero and the macros EXIT_SUCCESS and EXIT_FAILURE, the C standard does not define the meaning of return codes. Rules for the use of return codes vary on different platforms (see the platform-specific sections).

    Exit status
    Ответ написан
    Комментировать
  • Как подключить телефон через USB в качестве монитора для ПК без ОС?

    xez
    @xez
    TL Junior Roo
    Никак
    Ответ написан
    Комментировать
  • Какой дистрибутив GNU/Linux выбрать для цифровой криминалистики?

    includedlibrary
    @includedlibrary
    Берите любой. Весь софт может хоть на убунте, хоть на федоре, хоть на арче с генту работать. Но лучше взять что-нибудь популярное типа Ubuntu/Mint, чтобы на вопросы было легче найти ответы
    Ответ написан
    Комментировать
  • Как полностью защитить ноутбук от взлома?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Внимание! Изменился адрес почты!
    Вопрос не имеет смысла до тех пор, пока не определено, от кого собираетесь защищаться.
    Разные нарушители имеют разные возможности. В сферической информационной безопасности рассматривается абстрактный технический обьект защиты.
    В реальной жизни это совершенно не так и запросто сложится ситуация, когда Вы сами введете все необходимые пароли и расскажете все, что знаете (потому что горячий паяльник в #опе - это очень неприятно...)
    Ответ написан
    Комментировать
  • Как наладить работу "Сетевого окружения" в AD?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Сетевое окружение умерло. И никто его не стремится реанимировать. Оно просто умерло. Оно не работает даже в win-only многосегментных сетях, где в центре виндовый AD, на котором стоит wins. Такое впечатление, что прогсто поддержка wins выпилена нафиг. Потому что IP wins сервера передается, регистрация в нем идет... но... винде (рабочей станции) на это просто насрать. :( Она тупо показывает только сегмент локальной сети и все.
    Ответ написан
    Комментировать
  • Как точно посчитать за какой время выполняется цикл?

    vabka
    @vabka
    Токсичный шарпист
    1. В зависимости от параметров сборки этот цикл может превращаться в ноль, тк в нём нет побочных эффектов (это стандарт)
    2. На компьютере кроме твоей программы выполняется ещё несколько десятков других, по тому ОС будет в какие-то моменты твою программу ставить на паузу, чтобы дать процессорное время для другой программы.
    3. Частота современных процессоров не постоянна, так что это тоже может влиять

    Если ты хочешь написать бенчмарк, то тебе надо запустить один и тот же код несколько тысяч раз и посчитать хотябы среднее время, а в идеале ещё stddev и stderr
    Ответ написан
    Комментировать
  • Как разрабатывать игру на c++ под Android?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Самым простым решением для разработки именно игры будет взять Cocos2d-x, Defold или Godot.
    Это уже готовые решения для разработки игр на различные платформы, в том числе и на Android.
    Все движки предоставляют инструменты именно для С++, в отличие от SDL.

    SDL выполнен на языке C и не является подходящим в контексте разработки на C++.

    Если есть желание заняться именно разработкой движка, а не игры, то вместо SDL стоит взять SFML, который выполнен уже на C++ и является довольно хорошим фреймворком. На базе SFML можно довольно быстро сделать небольшой движок для небольшой игры.
    Ответ написан
    2 комментария
  • Нужна программа для бекапов в организации?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Бэкап всего ПК - изначально порочная практика. Если у вас там винда - сделайте эталонный образ, который можно быстро накатить, и бэкапьте только документы пользователя. Или того лучше - организуйте хранение всех документов на сетевой шаре, под которой дисковый массив с резервированием. Элементарные вещи, блин, рассказываю зачем-то...
    Ответ написан
    4 комментария
  • Какой выбрать вариант избавления от глобальных переменных в ООП PHP приложении?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Определиться, что мы пишем - ООП или говнокод с глобалсами.
    Во втором случае совершенно без разницы, какие оттенки запаха будут у этого дерьма.

    В первом случае выкинуть весь этот ад и делать по-человечески, передавая переменные в конструктор/методы в качестве параметров.
    Ответ написан
    Комментировать
  • Какие материалы подойдут, чтобы изучить основы алгоритмизации и программирования на C++?

    @dmshar
    На вопрос "Основы алгоритмизации и программирования на С++" Google выдает 59 тысяч ответов. А на вопрос "С++ учебник для начинающих" - еще 80 тысяч. Вы просмотрели хотя-бы десяток (не тысяч, а просто 10) из них и поняли - ни одна из этих ссылок не подойдет. Потому что ваши запросы - уникальны! Ну кто-же додумается изучать "поэтапно и от простого сложного". Все идут точно в обратном порядке. При таких ваших запросах - вряд-ли кто на форуме сможет вам помочь, увы.
    Ответ написан
    Комментировать
  • Как починить BIOS и убрать Ubuntu с ПК?

    @rPman
    Я пытался восстановить удалённые файлы (хотя я их не удалял, просто вырезал в одном месте, вставил в другом) но ничего не вышло, программы не нашли заветный файл.

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

    взломать что либо без этих файлов нереально, я конечно не удивлюсь, если майкрософт в тихушку собирает ключи шифрования и складывает у себя на серверах но не думаю что обывателю эти данные доступны.
    Ответ написан
    5 комментариев
  • В разных IDE код выдаёт разный ответ, как так?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Оператор << не является точкой следования, таким образом, вы получаете неопределенное поведение - у вас вызовы ++(*val) не отделены точкой следования друг от друга.

    Вот так ошибки не будет:

    cout << a.get();
    cout << b.get();


    Потому что ; является точкой следования.

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

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    const &y = x;
    Это не ссылка без типа, а синтаксически неверный код, который не пройдет трансляцию за пределами GCC.

    Т.к. ты пользуешься GCC, тебе стоит принять во внимание то, что он не соблюдает стандарт в некоторых случаях.
    В частности - в данном случае.

    В C++ нет типа по умолчанию, в отличие от С, где типом по умолчанию является int. Если в C код const y = x является синтаксически верным и подразумевает const int y = x, то в C++ этот же код является уже синтаксически неверным и не пройдет трансляцию.
    GCC в твоем коде отходит от стандарта C++ в пользу поведения как в C.
    Ответ написан
    2 комментария
  • Почему возникает ошибка Internal Server Error при загрузке файла pdf на сайт?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    5zf667.jpg

    Обычно ошибки пишутся в лог ошибок веб-сервера, если в настройках РНР не указано иное
    Ответ написан
    2 комментария
  • ООП: Правильно ли архитектурно так делать?

    Vamp
    @Vamp
    Возможно, это нормально, так и должно быть ? или как архитектурно правильно решать подобное?

    Это нормально. Безликие массивы становятся осмысленными сущностями. Такой код становится проще понимать и поддерживать.

    Используемый вами подход называется data transfer object (DTO). Широко распространенная практика. DTO отлично сочетается с иммутабельностью, которая присутствует в ваших классах.

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

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

    Называется ORM. Находится в ответственности ORM слоя/фреймворка.
    Ответ написан
    4 комментария