Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с авторизацией 
:(
    Опции темы
mitris
Дата 16.9.2007, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.5.2007

Репутация: -1
Всего: нет



Golda, если я буду экранировать строку, то не нужон для нее применять функцию htmlspecialchars(); ?
PM MAIL   Вверх
Golda
Дата 16.9.2007, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.