Перейти к содержанию
СофтФорум - всё о компьютерах и не только

PHP Работа функции file_get_contents($url)


Рекомендуемые сообщения

Возникла проблема, немогу разобраться, некогда писал модификацию на 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, то скрипт игнорирует этот адрес и не суммирует с остальными значениями...

Как поправить? Или может есть альтернатива?

Ссылка на комментарий
Поделиться на другие сайты

Попробуй

	$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
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...