![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| mitris |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 4.5.2007 Репутация: -1 Всего: нет |
Golda, если я буду экранировать строку, то не нужон для нее применять функцию htmlspecialchars(); ?
|
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Есть разные виды экранирования.
htmlspecialchars() используют для того, чтобы предотвратить XSS - злонамеренное использование возможностей javascript и HTML (например, вызов удаленного php-скрипта пользователя, замаскированного под src картинки). Для того, чтобы сработал javascript, нужно чтобы его текст был выведен в HTML. Для того, чтобы текст какой-нибудь переменной, введенной пользователем, случайно не сработал, все потенциально опасные символы перед выводом в HTML (или во время фильтрации при вводе) заменяют на их безопасные аналоги с помощью как javascript htmlspecialchars() Другой вид опасности, который может исходить от данных пользователя, - SQL-инъекция. Если данные пользователя учавствуют в запросах к базе данных (неважно, на выборку, вставку, удаление или update), есть шанс, что пользователь может попытаться изменить смысл Вашего запроса и использовать его не так, как Вы предполагали, если не позаботиться о безопасности. Например, есть запрос "SELECT * FROM table WHERE key=". $_GET['key'] если пользователь задаст $_GET['key'] равное 1 OR 1=1 при подходящем построении скрипта он получит доступ ко всем записям вместо одной. Поэтому, чтобы избежать SQL-инъекции, данные пользователя (не важно, пришедшие из $_GET, $_POST или $_COOKIE ), которые попадут в sQL-запрос, пропускают через фильтр функций, которые экранируют символы, потенциально опасные в SQL-запросах. В Вашем случае имеет смысл использовать mysql_real_escape_string(). Есть и другие механизмы помимо экранирования, например, prepared statements, но они недоступны в пределах библиотеки, которую Вы используете. Этими случаями вопросы безопсности web-приложений не исчерпываются, конечно. Есть include-, shell- инъекции, кража и подмена сессий... От каждого вида опасности выстраивают свою защиту. -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |