$id = eregi_replace("([^0-9])", "", $id);
в переменной ID были не только цифры или всегда останутся только цифры?
Нуждается ли переменная ID в дополнительных проверках перед тем как она будет использована для SELECTa в MySQL запросе?
Спустя 4 минуты, 28 секунд (23.09.2012 - 21:43) Winston написал(а):
$id = (int)$id;
Больше ничего и не нужно в твоем случае.
И eregi_ начиная с PHP 5.3 уже deprecated. Используй preg_
Спустя 17 минут, 42 секунды (23.09.2012 - 22:01) Susik написал(а):
$id = "'13";
$id = (int)$id;
Поставил перед 13 ковычку и в результате получил 0 это для чего так сделали?
Спустя 8 минут, 45 секунд (23.09.2012 - 22:10) Winston написал(а):
Цитата (Susik @ 23.09.2012 - 22:01) |
Поставил перед 13 ковычку и в результате получил 0 это для чего так сделали? |
Для того, чтобы обезопасить запрос от всяких не нужных символов в виде кавычки и т.п. А что тебе еще нужно? В запрос подставится 0, соответственно записей никаких не выберется, что не так? Или ты хочешь, если в $id будут какие то символы, то выводить сообщение аля "В ID может состоять только из цифр"?
Спустя 7 минут, 47 секунд (23.09.2012 - 22:17) Susik написал(а):
Просто раньше я не использовал int подумал что это что то (Убрать все кроме цифр) а оказалось что это не совсем так. Вот и спросил. Может int еще что то умеет?
Еще вопрос
Такой проверки хватит чтобы любые данные записывать в базу?
Еще вопрос
$komment = htmlspecialchars("$komment", ENT_QUOTES);
Такой проверки хватит чтобы любые данные записывать в базу?
Спустя 1 минута, 44 секунды (23.09.2012 - 22:19) inpost написал(а):
Никогда адекватный пользователь не будет в адресной строке менять данные, поэтому этим занимаются лишь псевдо-хакеры, вот и получают в ответ $id=0, записей нет в БД таких.
Ну и больше не стоит напрягаться.
htmlspecialchars для ВЫВОДА.
Для ввода: mysql_real_escape_string.
Ну и больше не стоит напрягаться.
htmlspecialchars для ВЫВОДА.
Для ввода: mysql_real_escape_string.
Спустя 3 минуты, 18 секунд (23.09.2012 - 22:22) Susik написал(а):
Вот это я нуб!!!
Для чего использовать фильтры при ВЫВОДЕ?
Что бы яваскрипты закинутые в базу выводились как текст?
Для чего использовать фильтры при ВЫВОДЕ?
Что бы яваскрипты закинутые в базу выводились как текст?
Спустя 2 минуты, 39 секунд (23.09.2012 - 22:25) inpost написал(а):
Susik
Да, от xss-инъекций (инфекций)
Да, от xss-инъекций (инфекций)
_____________