demer Опубликовано 2 июня, 2007 Жалоба Поделиться Опубликовано 2 июня, 2007 Возникла проблема, немогу разобраться, некогда писал модификацию на IPB 1.3: http://www.ibresource.ru/db/575/ Сейчас выяснилось, что есть уязвимость, незнаю как исправить, долгие поиски решений ни привели к результату, скрипт следующий: function filesize_url($url){ return ($data = @file_get_contents($url)) ? strlen($data) : false; } preg_match_all("/http:\/\/+[-a-zA-Z0-9._\/]+[.]+(gif|jpg|png)/", $HTTP_POST_VARS['Post'], $matches); for ($i=0; $i<count($matches[0]); $i++) { $summ = $summ + filesize_url($matches[0][$i]); } if ( $summ > 10 ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'sig_too_big_img' ) ); } Если в переменной $url, или иначе говоря в массиве ссылок на картинки $matches[0][$i] у одного из значений есть пробелы, или в hex: %20, то скрипт игнорирует этот адрес и не суммирует с остальными значениями... Как поправить? Или может есть альтернатива? Ссылка на комментарий Поделиться на другие сайты Поделиться
mmap Опубликовано 3 июня, 2007 Жалоба Поделиться Опубликовано 3 июня, 2007 Попробуй $cnt = preg_match_all("/http:\/\/[a-zA-Z0-9._\/\-\%]+\.(gif|jpg|png)/", $HTTP_POST_VARS['Post'], $matches);for ($i = 0; $i < $cnt; $i++) $summ += filesize($matches[0][$i]);if ($summ > 10) $std->Error( array( 'LEVEL' => 1, 'MSG' => 'sig_too_big_img' ) ); Ссылка на комментарий Поделиться на другие сайты Поделиться
demer Опубликовано 3 июня, 2007 Автор Жалоба Поделиться Опубликовано 3 июня, 2007 (изменено) Увы, не работает, вообще перестал проверять, вне зависимости от того, есть ли в ссылке пробел или нет. Вообщем не работает. Изменено 3 июня, 2007 пользователем demer Ссылка на комментарий Поделиться на другие сайты Поделиться
demer Опубликовано 3 июня, 2007 Автор Жалоба Поделиться Опубликовано 3 июня, 2007 Спасибо kolya7k, проблема решена. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти