Задать вопрос
passshift
@passshift
php, js, html5, css

Как очистить строку для защиты от XSS и SQl-инъекции, но пропускать спец-символы?

Здравствуйте уважаемые!

Возможно есть у кого-то проверенная временем функция?

И насколько, кстати, вообще безопасно пропускать спец-символы? В Вк например их повсюду вставляют в сообщения, хотелось бы реализовать подобное, но при этом защититься от XSS и SQl-инъекций...

Спасибо
  • Вопрос задан
  • 1473 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@AndryG
Ваш вариант защиты от инъекций в корне неверный. Для защиты необходимо не строку "очищать", а правильно с ней работать, как описал выше Алексей Николаев.

"Очисткой" вы защититесь лишь от примитивных попыток взлома и 100% будут случаи, когда вы будете "портить" содержимое строки. Бесят сайты, гд в коментарии нельзя нормально указать кусок html-кода (именно как текст). Их создатели тоже решили, что надежней "вырезать".

Добавлено
В итоге уточнений пришёл к выводу такому:
<?php
  function my($text){
#    return $text;
#    return htmlspecialchars($text);
    return htmlspecialchars($text, null, null, false);
  }
  ?>
<br>&#174;
<br><?=my('&#174;')?>
<br><?=my('<b>text-&#174;-text</b>')?>
<br><?=my('<script>alert("XSS &#174;")</script>')?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
passshift
@passshift Автор вопроса
php, js, html5, css
Вероятно нужно использовать strip_tags(), а не htmlspecialchars() , но что-то меня смущают "красные" комментарии в мануале php.net/manual/ru/function.strip-tags.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽