if (isset($_POST['pole_22']) && $_POST['pole_22']!=="не важно")
{
$sort_p22=" AND pole_22='".mysql_real_escape_string($_POST['pole_22'])."' ";
}
else
{
$sort_p22="";
}
...
далее запрос:
$z="SELECT `id`,`log`,`polet`,`polem`,`pole_11`,`pole_22`,`pole_33`,`cena`,`acena`,`1simg`,`1bimg`,`2simg`,`2bim g`,`3simg`,`3bimg` FROM `".mysql_real_escape_string ($baza)."` WHERE id='".(int)$nomer."' AND pole_m='".mysql_real_escape_string ($model)."' ".$sort_p11.$sort_p22.$sort_p33.$sort_foto.$sort_cena;
$g=mysql_query($z, $db)or die("Error:".mysql_error());
насколько это безопасно??? Можно ли в этот хвост вставить SQL инъекцию?
И еще такой вопрос, возник спор, любую ли переменную (литерную) при выводе в браузер нужно подвергать htmlspecialchars? Даже если она сгенирирована в этом же скрипте?
Спустя 26 минут, 8 секунд (27.12.2010 - 05:18) sharki написал(а):
По идее всё нормально, все данные заносятся защищенными.
Цитата |
И еще такой вопрос, возник спор, любую ли переменную (литерную) при выводе в браузер нужно подвергать htmlspecialchars? |
Главное понимать что ты хочешь получить в итоге, или оформленные данные вида (например)< p style="color:red"> т.е чтобы браузер разукрасил в красный цвет текст в теге P или наоборот запретить все эти действия и выведется чисто код...
Кончено же лучше подвергать shtmlspecialchars , тогда сделай BB теги, чтобы можно было делать текст не только безопасным но и красивым =))
Иногда бывает опасность искажения верстки при выводе текста без shtmlspecialchars. Т.е в базе лежит такой код <div style="float: left и т.д">текст</div> и при выводе он начнет самодействовать =)
Спустя 2 часа, 5 минут, 23 секунды (27.12.2010 - 07:23) ABC написал(а):
sharki
Спасибо, я имел ввиду...скажем задал я в скрипте
то невозможно ведь вставить в $hi другое значение. (!?)
а вот если на этом же скрипте $hi не задается а выводится из БД в качестве скажем $hi=hie['field_1']; Я так понимаю что даже в этом случае нельзя подменить $hi, на что то другое типа <b>ZHooop</b>
Заменить $hi можно только если она пришла в скрипт из вне...либо заставить выполнить запрос БД из другой БД...или из другой таблицы...но там ведь конкретно прописано, что выбирать из поля 'field_1' таблицы Table_1 ,базы данных DataBase?
:)))???
Спасибо, я имел ввиду...скажем задал я в скрипте
$hi='Hello World!';и спустя какое-то время вывожу:
print $hi;
то невозможно ведь вставить в $hi другое значение. (!?)
а вот если на этом же скрипте $hi не задается а выводится из БД в качестве скажем $hi=hie['field_1']; Я так понимаю что даже в этом случае нельзя подменить $hi, на что то другое типа <b>ZHooop</b>
Заменить $hi можно только если она пришла в скрипт из вне...либо заставить выполнить запрос БД из другой БД...или из другой таблицы...но там ведь конкретно прописано, что выбирать из поля 'field_1' таблицы Table_1 ,базы данных DataBase?
:)))???
Спустя 23 минуты, 8 секунд (27.12.2010 - 07:47) sharki написал(а):
Ну только если ты насильно не изменишь её в PHP скрипте, а потом снова запустишь скрипт с новыми данными. Интерпретатор выполняет все последовательно, как ты сможешь извне ему подсунуть то, что ему не стоит выполнять, ты же не сможешь допустим подменить доступ к БД например на этом форуме на другой адрес, т.к эти данные уже прочитались сервером, а потом выполнились.
Если ты четко указал в PHP скрипте что надо вытащить именно из этой БД, никто не сможет заменить то что ты написал с клиентской стороны.
Прочитать может и смогут какие нибудь крутые хацкеры а заменить нет, ну если ты и защиту не продумал то и заменят на другой скрипт =))
Если ты четко указал в PHP скрипте что надо вытащить именно из этой БД, никто не сможет заменить то что ты написал с клиентской стороны.
Прочитать может и смогут какие нибудь крутые хацкеры а заменить нет, ну если ты и защиту не продумал то и заменят на другой скрипт =))
Спустя 37 минут, 13 секунд (27.12.2010 - 08:24) ABC написал(а):
sharki
Ок, спасибо!
Ок, спасибо!
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.