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

  #189  
Старый 13.08.2009, 10:46
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
С нами: 11020706

Репутация: 4693


По умолчанию

тут ты ошибаешься:

Вот это:
PHP код:
 //class
  // NB: the c parameter is passed as two units above the real one
  
$class $_GET['c'] - 2
не надо менять на вот это:
PHP код:
//class
  // NB: the c parameter is passed as two units above the real one
  
$class = (int) $_GET['c'] - 2
Т.к. математические операции предотвращают XSS. Т.е. $a = 0 + $_GET['a'] - всегда будет числом.

З.Ы.
Ну это то что бросается в глаза. Уверен в твоих фиксах есть ещё избыточные и не совсем логичные.

К примеру ты много где делаешь trim от числа, как тут:
PHP код:
$dl2 trim((int)$_GET); 
Зачем? Тут либо ты ошибся, и разработчик ожидает в этом поле не число, то ли у разработчика руки кривые, но тогда trim можно вообще не переносить в фикс, т.к. (int) переведёт строку в число, даже если перед цифрами стоят пробелы.

З.Ы.Ы.
Вот если бы ты к каждому твоему фиксу показал пример использования XSS, то было бы понятно, что к чему
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.

Последний раз редактировалось Qwazar; 13.08.2009 в 10:56..
 
Ответить с цитированием