[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Фильтрация данных
New Guest
Достаточно ли такой фильтрации данных?


<form action="" method="post">

Логин<br /><input type="text" name="login" /><br />

Пароль<br /><input type="password" name="pass" /><br />

<input
type="submit" name="sub" />

</form>




$login = $_POST['login] ;
$login = preg_replace ("/[^0-9a-z]/i", "", $login) ;

$pass= $_POST['
pass] ;
$pass = preg_replace ("/[^0-9a-z]/i", "", $pass) ;


if (get_magic_quotes_gpc())
{
$login = stripslashes ($login) ;
$pass = stripslashes ($pass) ;
}

$login = addslashes ($login) ;
$pass = addslashes ($pass) ;




Спустя 35 минут, 7 секунд (1.09.2010 - 22:49) vasa_c написал(а):
Достаточно для чего?

Спустя 14 минут, 44 секунды (1.09.2010 - 23:04) Guest написал(а):
Чтобы защититься от инъекций

Спустя 18 минут, 5 секунд (1.09.2010 - 23:22) vasa_c написал(а):
Каких инъекций? Сами по себе данные ничего не сделают. Важно то, как вы их будете использовать. Определитесь для начала с этим.

Спустя 8 минут, 44 секунды (1.09.2010 - 23:31) Guest написал(а):
Эт как понять?

Спустя 2 часа, 20 секунд (2.09.2010 - 01:31) twin написал(а):
Так
И если настроен серьёзно, то потом так.

Спустя 5 часов, 33 минуты, 15 секунд (2.09.2010 - 07:04) Basili4 написал(а):
if (get_magic_quotes_gpc())
{
$login = stripslashes ($login) ;
$pass = stripslashes ($pass) ;
}

$login = addslashes ($login) ;
$pass = addslashes ($pass) ;



я никогда не мог понять смысл этой конструкции

Спустя 3 часа, 27 минут, 10 секунд (2.09.2010 - 10:31) DedMorozzz написал(а):
Может для того, что бы дважды не добавлялись слеши?

Спустя 2 минуты, 50 секунд (2.09.2010 - 10:34) Basili4 написал(а):
DedMorozzz
а зачем их удалять, чтоб потом снова добавить ????????

Спустя 9 минут, 20 секунд (2.09.2010 - 10:44) DedMorozzz написал(а):
Удаляется лишь если включенная директива. Сказочных кавычек.
Для того что бы всегда лишь раз добавлялась. И код работал одинаково вне зависимости от того, включены ли волшебные кавычки иль нет

Спустя 6 минут, 8 секунд (2.09.2010 - 10:50) Basili4 написал(а):
DedMorozzz
Ну я про что и говорю если включена то сначала убить потом добавить.

Бред

Спустя 1 минута, 15 секунд (2.09.2010 - 10:51) Basili4 написал(а):
DedMorozzz
ИМХО надо так

if (!get_magic_quotes_gpc())
{
$login = addslashes ($login) ;
$pass = addslashes ($pass) ;

}


Спустя 1 минута, 49 секунд (2.09.2010 - 10:53) twin написал(а):
Basili4

Цитата
Ну я про что и говорю если включена то сначала убить потом добавить.
Бред

факт.

Цитата
ИМХО надо так

и уж тем более не так. еще дольший бред.

Спустя 54 секунды (2.09.2010 - 10:54) Basili4 написал(а):
twin
а как ? И почему у меня еще больший бред ?

Спустя 2 минуты, 50 секунд (2.09.2010 - 10:56) DedMorozzz написал(а):
эм, может потому что их в принципе добавлять не имеет смысла? Это рас.
А два - у тя слово Ded'Moroz будет выглядеть Ded\\'Moroz

А в той конструкции Когда я запишу Ded'Moroz, запишется так:
Ded\'Moroz
Всегда. Хоть есть магич. кавычки, хоть нету.

Спустя 5 минут, 3 секунды (2.09.2010 - 11:01) Basili4 написал(а):
DedMorozzz
Ну про рас это я даже спорить не буду.

а про два я не могу понять откуда там второй слешь возьмется если магические кавычки выключены то он я добавлю по 1 если включены то он сам уже добавил. А вторая там откуда щас пойду проверю

Спустя 2 минуты, 1 секунда (2.09.2010 - 11:04) twin написал(а):
Basili4
Цитата
а как ? И почему у меня еще больший бред ?


почему бред, можно понять тут.
Кстати, DedMorozzz решил эту задачу, теперь с ним спорить сложно. smile.gif

Спустя 1 минута, 18 секунд (2.09.2010 - 11:05) DedMorozzz написал(а):
Наверное ты подустал. Смотри:
Магические кавычки добавляют слэш к спец символам. Давай рассматривать лишь кавычку.
Итого, ко всем кавычкам добавляет слэш.
А если эта директива не включенна - тогда всё равно "необходимо" добавить оную.
Выходит необходимо написать код, который будет вне зависимости от директивы вести себя одинаково. Для этого делаем проверку, есть ли такая директива. Если есть - то удаляем слэш перед кавычкой, ибо далее она будет добавляется.
Если не удалить то появится 2 слэша. Первый от директивы, 2й от кода, который расчитан на то, что директивы такой нету.

Спустя 10 минут, 51 секунда (2.09.2010 - 11:16) Basili4 написал(а):
Цитата (DedMorozzz @ 2.09.2010 - 12:05)
Наверное ты подустал.

100 пудова. я понял что это за бредни действительно что то не получается по другому обеспечить одинаковое поведение.

Спустя 6 минут, 28 секунд (2.09.2010 - 11:22) Guest написал(а):
Я толком не понял((( Так надо писать?



if (get_magic_quotes_gpc())
{
$login = stripslashes ($login) ;
$pass = stripslashes ($pass) ;
}

$login = addslashes ($login) ;
$pass = addslashes ($pass) ;

Спустя 2 минуты, 17 секунд (2.09.2010 - 11:24) Basili4 написал(а):
Guest
Да. Пиши так.... это хоть и бред но остальное еще больший бред

Спустя 3 минуты, 2 секунды (2.09.2010 - 11:27) Guest написал(а):
какое остальное?

Спустя 1 минута, 8 секунд (2.09.2010 - 11:29) Basili4 написал(а):
Ну все мои потуги оптимизировать этот код.

Спустя 1 минута, 24 секунды (2.09.2010 - 11:30) Guest написал(а):
ааа... а вот htmlspecialshars где прописывать нужно? в самом начале при инициализации переменных? или при вводе echo???

Спустя 2 часа, 7 минут, 28 секунд (2.09.2010 - 13:37) Basili4 написал(а):
Guest
перед выводом в браузер

Спустя 3 минуты, 24 секунды (2.09.2010 - 13:41) Guest написал(а):
то есть вот так?



$res = "SELECT * FROM `cat`" ;

$query = mysql_query ($res) ;

while ($row = mysql_fetch_array ($query))
{
echo "<div align='center'>
<a href='http://test1.ru/katalog/index.php?cat=
$row[id]'>".htmlspecialchars($row[cat_name])."</a>
<br /><br />
</div>"
;
}

Спустя 1 минута, 36 секунд (2.09.2010 - 13:42) DedMorozzz написал(а):
тебе же уже давали линку. Держи сразу на решение:
http://phpforum.ru/index.php?showtopic=30372&hl=

Спустя 6 минут, 5 секунд (2.09.2010 - 13:49) Guest написал(а):
Значит я правильно написал выше
Быстрый ответ:

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