{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
Samurai * 0.28
[автор] (5 фев 2014, 18:29) [1/0] [1] [отв] [спам] [под] +1 | -1

Функция htmlspecialchars - функция выполняют очень важную работу, она преобразует специальные символы в HTML-сущности.
Что вообще такое HTML-сущности? Это специальные символы типа: < > » \' и т. д.

Зачем нужно их преобразования? Давайте рассмотрим пример. У вас есть гостевая книга в которой любой пользователь может оставить запись. А что будет если он оставит не просто запись, а какой либо скрипт или специальный хакерский код? Ваш сайт будет испорчен. Возможно он не будет взломан, но он будет сто процентов испорчен. Дак вот смысл этой функции все скрипты преобразовать в неработоспособное состояние.

Синтаксис функции:

1.
2.htmlspecialchars ( входная строка, [flags - название константы ] )
3.

Константы бывают:

ENT_COMPAT - Преобразует двойные кавычки, одинарные кавычки не изменяются.

ENT_QUOTES - Преобразует как двойные, так и одинарные кавычки.

ENT_NOQUOTES - Оставляет без изменения как двойные, так и одинарные кавычки.

ENT_IGNORE - Молча отбрасывает некорректные кодовые последовательности вместо возврата пустой строки. Данная возможность предоставляется в целях обратной совместимости, избегайте ее использования, т.к. она может внести уязвимости в ваш код.

ENT_SUBSTITUTE - Заменяет некорреткные кодовые последовательности символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки, вместо возврата пустой строки.

ENT_DISALLOWED - Заменяет кодовые последовательности, несоответствующие указанному типу документа символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки.

ENT_HTML401 - Обработка кода в соответствии с HTML 4.01.

ENT_XML1 - Обработка кода в соответствии с XML 1.

ENT_XHTML - Обработка кода в соответствии с XHTML.

ENT_HTML5 - Обработка кода в соответствии с HTML 5.



Важный момент, если параметр не указать, то по-умолчанию будет ENT_COMPAT

ENT_IGNORE — работает начиная с php 5.3

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5 — работают начиная с php 5.4

В основном на всех серверах стоит php 5.2 ил 5.3 , но то что введено позже Вам врядли понадобятся.

Рассмотрим функцию на примере:

1.

<?php
2.$new = htmlspecialchars(\"<a href=\'url\'>Test</a>\", ENT_QUOTES);
3.// &lt;a href=&#039;url&#039;&gt;Test&lt;/a&gt;
4.echo $new;
5.?>




Заметьте что в браузере выдаст:

1.
2.<a href=\'url\'>Test</a>
3.

А если вы посмотрите HTML-код страницы, то увидите:

1.
2.&lt;a href=&#039;url&#039;&gt;Test&lt;/a&gt;
3.

Если без использования функции выведете обычную ссылку. Можете попробовать.

Еще один важный момент функция работает с:
& (амперсанд) преобразуется в \'&amp;\'
« (двойная кавычка) преобразуется в \'&quot;\' в режиме ENT_NOQUOTES is not set.
\' (одиночная кавычка) преобразуется в \'&#039;\' только в режиме ENT_QUOTES.
< (знак \"меньше чем\"* преобразуется в \'&lt;\'
> (знак \"больше чем\"* преобразуется в \'&gt;\'

2. (5 фев 2014, 18:39) [0/0] [0] [отв] [спам] [под] +1 | -1

Что ты хочешь этим сказать ?

3. (5 фев 2014, 18:40) [0/0] [0] [отв] [спам] [под] +1 | -1

Не вижу смысла в теме.

4.
pentium * [мошенник] 0.41
(5 фев 2014, 18:49) [1/0] [1] [отв] [спам] [под] +1 | -1

хотел по выеб*ватся?

5.
The_Red * [мошенник] 0.17
(5 фев 2014, 18:52) [0/0] [0] [отв] [спам] [под] +1 | -1

и что числа фильтрует тоже??? PS вопрос к автору

6.
Samurai * 0.28
[автор] (5 фев 2014, 18:54) [0/0] [0] [отв] [спам] [под] +1 | -1
The_Red,

А смысл их фильтровать?

7. (5 фев 2014, 18:58) [0/0] [0] [отв] [спам] [под] +1 | -1
The_Red,

intval()
abs()

8. (5 фев 2014, 19:01) [0/0] [0] [отв] [спам] [под] +1 | -1
Samurai,

Чтобы в гет типа user.php?id=1 не было такого
user.php?id=lal
там только ид показываются в числах. Вот и нужна фильтрация

9.
The_Red * [мошенник] 0.17
(5 фев 2014, 19:19) [0/0] [0] [отв] [спам] [под] +1 | -1

Mark, блин ну я тебя спрашивал??? ты тоже хотел как сказано выше выипнутся???

10.
The_Red * [мошенник] 0.17
(5 фев 2014, 19:20) [0/0] [0] [отв] [спам] [под] +1 | -1
Samurai,

все ясно с тобой! на будущее...не знаешь о чем пишешь, не пиши лучше!

Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений