ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

21.08.2008, 23:37
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
Сообщение от NOmeR1
Тема - бред. Get параметры всегда в формате string, а если его нет, то NULL.
eLWAux, мда )))
Код:
<?php echo htmlspecialchars($_GET['id_mail']); ?>
?id_mail[]=lol
|
|
|

22.08.2008, 00:24
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
PHP код:
$id = !empty($_GET['id_mail']) && is_numeric($_GET['id_mail']) ? intval($_GET['id_mail']) : '';
echo htmlspecialchars($id);
))
|
|
|

22.08.2008, 01:09
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
.:EnoT:., кажется на баше была цитата
if($var == true){
//проверим для надежности..
if($var == false){exit;
}
}
это не с тебя брали?
|
|
|

22.08.2008, 03:44
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
eLWAux, мда)
.:EnoT:., прочитай статью "Роковые ошибки PHP" не помню какую часть.. про is_numeric
|
|
|

22.08.2008, 03:48
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
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()
|
|
|

22.08.2008, 11:21
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
.:EnoT:., прочитай статью "Роковые ошибки PHP" не помню какую часть.. про is_numeric
Все у него правильно  хотя можно было без условий только intval применить. Точнее нужно 
|
|
|

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

22.08.2008, 12:34
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
да так...
|
|
|

22.08.2008, 13:12
|
|
Новичок
Регистрация: 31.08.2005
Сообщений: 3
Провел на форуме: 24387
Репутация:
3
|
|
А так если писать?
PHP код:
<?php
if( (strval(intval($_GET['id_mail'])) == $_GET['mail']){
//ОК!
}else{
//Лог & Бан)
}
?>
Последний раз редактировалось Demonyx; 22.08.2008 в 13:15..
|
|
|

22.08.2008, 13:52
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Я Славик (с)
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|