Показать сообщение отдельно

  #4  
Старый 07.02.2009, 06:37
Shadow_p1raT
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме:
2140897

Репутация: 267
Отправить сообщение для Shadow_p1raT с помощью ICQ
По умолчанию

.:EnoT:. думаю вместо intval лучше заюзать is_numeric,так как цитирую
Цитата:
У intval() есть интересная особенность - она возвращает TRUE если первой в аргументе содержится хотя бы одна цифра.
И у разработчиков тоже есть интересная особенность =)) -- они периодически используют intval()/(int) в логичесих условиях,
допуская непростительные ошибки.
Ведь наличие цифр в строке вовсе не гарантирует отсутствие других символов.

Пример:
/index.php?id=1'"qwerty
PHP код:
$id=$_GET['id']; 
    if(
intval($id) && (int)$id
     { 
      
sql_query("select $id from table_name"); 
     } 
     else die(
'Id not integer!'); 
Несмотря на кажущуюся незначительность баги, встречается она в диком тырнете достаточно регулярно.
Для безопасного сравнения используйте is_numeric()
взято от сюда
_ttps://forum.antichat.ru/threadnav56756-1-10.html
 
Ответить с цитированием