[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита введенных данных
Эли4ка
Скажите,пожалуйста, какой из способов эффективнее..а то у меня в голове немного каша по этому.. :(
htmlspecialchars(strip_tags($_POST['name']));

или
htmlspecialchars($_POST['name']);


P.S. так же при запросе SELECT к БД обрабатываю с помощью addcslashes(),а при INSERT-mysql_real_escape_string

Спасибо.



Спустя 1 минута, 57 секунд (11.02.2012 - 13:43) inpost написал(а):
при всех запросах mysql_real_escape_string,
при всех выводах - htmlspecialchars.

Спустя 4 минуты, 10 секунд (11.02.2012 - 13:47) Эли4ка написал(а):
Цитата
при всех запросах mysql_real_escape_string,

у меня только INSERT php позволяет,а на остальное пишет синтаксическую ошибку..
Цитата
при всех выводах - htmlspecialchars.

но он ведь только html-теги обрабатывает.. blink.gif

Спустя 3 минуты, 20 секунд (11.02.2012 - 13:51) Winston написал(а):
Цитата (Эли4ка @ 11.02.2012 - 12:47)
а на остальное пишет синтаксическую ошибку.

Смотря как ты пишешь.
Цитата (Эли4ка @ 11.02.2012 - 12:47)
но он ведь только html-теги обрабатывает

Оно обрабатывает только символы
Свернутый текст
'&' (амперсанд) преобразуется в '&'
'"' (двойная кавычка) преобразуется в '"' в режиме ENT_NOQUOTES is not set.
"'" (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES.
'<' (знак "меньше чем") преобразуется в '&lt;'
'>' (знак "больше чем") преобразуется в '&gt;'

Преобразовывает символs в спец. html сущности.

Спустя 3 минуты, 36 секунд (11.02.2012 - 13:54) Эли4ка написал(а):
Цитата
Смотря как ты пишешь.

я пишу так
mysql_query("SELECT one FROM onetable WHERE two='addcslashes($preview)'",$db);

Спустя 1 минута, 45 секунд (11.02.2012 - 13:56) johniek_comp написал(а):
strip_tags вырежет тэги, и ничего постороннего не запустит
htmlspecialchars переведет в сущность, отобразит на странице, но не запустит ничего, разницы нет как, как хочешь

Спустя 8 секунд (11.02.2012 - 13:56) Winston написал(а):
Вот так
mysql_query("SELECT one FROM onetable WHERE two='" . mysql_real_escape_string($preview) . '",$db);

А addcslashes нужно использовать при LIKE в sql, чтобы был корректный поиск.

Спустя 4 минуты, 29 секунд (11.02.2012 - 14:01) Эли4ка написал(а):
Winston
только сейчас заметила что есть addcslashes,а есть addslashes..может из-за этого?
а так спасибо за пример.
johniek_comp
да я это только что на примере отработала..а я вот тогда не пойму-зачем strip_tags?

Спустя 16 минут, 34 секунды (11.02.2012 - 14:17) Эли4ка написал(а):
Winston
как ни пробовала,к сожалению пишет следующую ошибку
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\my.ru\www\preview.php on line 28
ну почему так может быть? sad.gif sad.gif sad.gif sad.gif

Спустя 2 минуты, 2 секунды (11.02.2012 - 14:19) inpost написал(а):
Эли4ка
Вообще-то надо показывать код с mysql_real_escape_string и показывать, какая ошибка пишется.

Спустя 2 минуты, 44 секунды (11.02.2012 - 14:22) Эли4ка написал(а):
вот
if(!empty($_GET['preview'] )){

$preview = addslashes(htmlspecialchars($_GET['preview']));
$sql = mysql_query("SELECT description FROM myth WHERE md5='" . mysql_real_escape_string($preview) . "',$db);

if (mysql_num_rows(
$sql) > 0) {
while (
$row = mysql_fetch_assoc($sql)) {
echo
$row[description];
}
}

пишет следующее
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\my.ru\www\preview.php on line 24

Спустя 1 минута, 43 секунды (11.02.2012 - 14:24) Winston написал(а):
Цитата (Эли4ка @ 11.02.2012 - 13:22)
"',$db

Ну естественно, ты же кавычку не закрыла :)
Напиши так
"'",$db

Спустя 2 минуты, 43 секунды (11.02.2012 - 14:26) Эли4ка написал(а):
Winston
ой спасибо,и правда заработало..

Спустя 1 минута (11.02.2012 - 14:27) inpost написал(а):
А имена ячеек и таблиц в обратные кавычки: `table`, `cell`

Спустя 2 минуты, 6 секунд (11.02.2012 - 14:29) Эли4ка написал(а):
inpost
сделано.а можно узнать,а какова значимость ошибки,если я эти кавычки не проставлю?

Спустя 1 минута, 37 секунд (11.02.2012 - 14:31) Winston написал(а):
Цитата (Эли4ка @ 11.02.2012 - 13:29)
а можно узнать,а какова значимость ошибки,если я эти кавычки не проставлю?

Надоело уже объяснять одно и тоже, лучше почитай http://www.host.ru/tips/33

Спустя 4 минуты, 51 секунда (11.02.2012 - 14:36) Эли4ка написал(а):
Winston
спасибо.путаница исчезла.

Спустя 13 минут, 45 секунд (11.02.2012 - 14:50) inpost написал(а):
Эли4ка
sql-inj, взлом сайта, доступ к твоей БД и возможность менять абсолютно все данные.

Спустя 13 часов, 28 минут, 56 секунд (12.02.2012 - 04:19) Эли4ка написал(а):
inpost
это на мой вопрос выше?

Спустя 8 часов, 44 минуты, 6 секунд (12.02.2012 - 13:03) inpost написал(а):
Эли4ка
да.

Спустя 1 день, 1 час, 4 минуты, 36 секунд (13.02.2012 - 14:07) Эли4ка написал(а):
inpost
спасибо.
Быстрый ответ:

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