Профиль пользователя заблокирован сроком с 10 апреля 2022 г. и навсегда по причине: систематические нарушения правил сервиса
Ответы пользователя по тегу XSS
  • Почему для защиты от XSS опасные символы нужно экранировать, а не удалять?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Потому что не бывает никаких "опасных символов".
    Символ, который является "опасным" в одном контексте, в другом будет полезным.
    Если так начать удалять потенциально опасные символы, то от контента ничего не останется.

    Смешнее всего видеть такие вопросы на сайтах типа тостера. Вот клиент сам же накатал ответ в котором "опасных" символов overдофига. Во что превратится этот красивый ответ если из него повырезать все ужжжжасно опасные символы?
    Ответ написан
    4 комментария
  • Достаточно ли использовать filter_input_array для защиты от XSS?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Достаточно, но неправильно.
    Данные надо форматировать перед использованием, а не перед сохранением.
    Ответ написан
    3 комментария
  • Правилен ли ход мыслей?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если у тебя не используется пользовательский ввод, то и защищаться ни от чего не надо.
    Если используется, и HTML запрещен, то htmlspecialchars()
    Если используется, но HTML разрешен - то htmlpurifier.org
    Ответ написан
    Комментировать
  • Поможет ли такой php-код защититься от sql-инъекций и XSS, какие в нём есть уязвимости?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все что делает этот идиотский код - это портит входящие данные.
    Я даже не знаю, стоит ли объяснять. Ведь 100500 раз уже объясняли.

    Но самый, конечно ад - это ответы.

    Когда начинаешь этим щеночкам объяснять, что такое инъекция, и как от нее защититься, все начинают шипеть - "да знаем уже, учоные!". Но когда доходит до дела - такой ад выдают, что становится понятно. Не учёные, а все те же обезьяны, которые вызубрили пару заклинаний, но по традиции не понимают, ни как эти заклинания работают, ни для чего они нужны.

    Тем, кто предлагает отрезать кавычки от quote, надо самим что-нибудь отрезать.

    И это неловкое чувство, когда 2015 году слышишь самую заветную мантру мадагаскарских гамадрилов: "mysql_real_escape_string зашышает от ынъекцый!". Стоит, блин, такой "устаревший", но еще крепкий архангел с пылающим мечом, и разит супостата прямо в темечко - вот так представляет себе принцип работы этой функции средний пользователь похапе.
    Ответ написан
    Комментировать
  • Безопасно ли открывать схему проверки входных данных сайта?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Как и большинство хомячков, афтор путает валидацию данных и форматирование вывода.

    Как правильно отмечено постом выше, эти две вещи никак друг с другом не связаны. Вообще. Разве только тем, что если полагаться на валидацию входящих, то можно налететь на инъекцию второго порядка, точно так же, как в случае с SQL.

    Поэтому валидацию надо оставить как есть, а форматирование производить в обязательном порядке в автоматическом режиме, средствами шаблонизатора. При этом учитывая среду, в которую данные выводятся. Для SQL, HTML, JS и многих других разных вариантов вывода форматирование должно быть РАЗНЫМ
    Ответ написан
    2 комментария