HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 21.08.2008, 23:37
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

Цитата:
Сообщение от NOmeR1  
Тема - бред. Get параметры всегда в формате string, а если его нет, то NULL.
eLWAux, мда )))
Код:
<?php echo htmlspecialchars($_GET['id_mail']); ?>
?id_mail[]=lol
 
Ответить с цитированием

  #12  
Старый 22.08.2008, 00:24
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

PHP код:
$id = !empty($_GET['id_mail']) && is_numeric($_GET['id_mail']) ? intval($_GET['id_mail']) : '';
echo 
htmlspecialchars($id); 
))
 
Ответить с цитированием

  #13  
Старый 22.08.2008, 01:09
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

.:EnoT:., кажется на баше была цитата
Цитата:
if($var == true){
//проверим для надежности..
if($var == false){exit;
}
}
это не с тебя брали?
 
Ответить с цитированием

  #14  
Старый 22.08.2008, 03:44
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

eLWAux, мда)
.:EnoT:., прочитай статью "Роковые ошибки PHP" не помню какую часть.. про is_numeric
 
Ответить с цитированием

  #15  
Старый 22.08.2008, 03:48
BlackSun
Познавший АНТИЧАТ
Регистрация: 01.04.2007
Сообщений: 1,268
С нами: 10058786

Репутация: 4589


По умолчанию

Цитата:
Сообщение от Isis  
eLWAux, мда)
.:EnoT:., прочитай статью "Роковые ошибки PHP" не помню какую часть.. про is_numeric
C is_numeric как раз все впорядке)

Цитата:
[ intval(), (int) ]

У 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()
 
Ответить с цитированием

  #16  
Старый 22.08.2008, 11:21
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,792
С нами: 11444066

Репутация: 2290


По умолчанию

Цитата:
.:EnoT:., прочитай статью "Роковые ошибки PHP" не помню какую часть.. про is_numeric
Все у него правильно хотя можно было без условий только intval применить. Точнее нужно
 
Ответить с цитированием

  #17  
Старый 22.08.2008, 11:46
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

GreenBear, оч смешно...обоснуй лучше к чему ты это написал?

Isis, в чём же эта "роковая ошибка PHP?"
http://www.xakep.ru/magazine/xa/110/068/1.asp вот статья. Вот цитата оттуда:
Цитата:
К счастью, для безопасного сравнения можно (и нужно!) использовать is_numeric().
В моём примере ничего уязвимого не вижу...id_mail проверяется, является ли он числом, если да, то берётся его целое числовое значение....или ты собрался sql-иньекцию проводить через это?)) И запрос вида ?id_mail[]=123 ошибку не выдаст, он просто не будет обработан.
Правда не знаю чё я туда htmlsprcialchars() запихнул, если там числовой параметр...ну пофиг
 
Ответить с цитированием

  #18  
Старый 22.08.2008, 12:34
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

да так...
 
Ответить с цитированием

  #19  
Старый 22.08.2008, 13:12
Demonyx
Новичок
Регистрация: 31.08.2005
Сообщений: 3
С нами: 10890995

Репутация: 3
По умолчанию

А так если писать?

PHP код:
<?php

if( (strval(intval($_GET['id_mail'])) == $_GET['mail']){
 
//ОК!
}else{
 
//Лог & Бан)
}
?>

Последний раз редактировалось Demonyx; 22.08.2008 в 13:15..
 
Ответить с цитированием

  #20  
Старый 22.08.2008, 13:52
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

Я Славик (с)
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Dsl-g604t Wifi на прием настройка И раздача по LAN podkashey Беспроводные технологии/Wi-Fi/Wardriving 0 16.08.2008 00:17
Начался прием заявлений на соискание "Премии Рунета - 2008" XiD Мировые новости. Обсуждения. 4 04.06.2008 10:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.