функция проверки изображения на валидность (защита от XSS-атак)
<?php
// функция проверки изображения на валидность (защита от XSS-атак)
function verify_image ($file) {
// защита от Null-байт уязвимости PHP
$file = preg_replace('/\0/uis', '', $file);
// проверка изображения
$txt = file_get_contents($file);
if (preg_match('#&(quot|lt|gt|nbsp|amp);#i', $txt)) return false;
elseif (preg_match("#&\#x([0-9a-f]+);#i", $txt)) return false;
elseif (preg_match('#&\#([0-9]+);#i', $txt)) return false;
elseif (preg_match("#([a-z]*)=([\`\'\"]*)script:#iU", $txt)) return false;
elseif (preg_match("#([a-z]*)=([\`\'\"]*)javascript:#iU", $txt)) return false;
elseif (preg_match("#([a-z]*)=([\'\"]*)vbscript:#iU", $txt)) return false;
elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*expression<span class="MathJax_Preview"><img src="http://blogfigaroo.ru/wp-content/plugins/latex/cache/tex_4bce412ebac80101838e364f858e1d07.gif" style=" " class="tex" alt="[^>]*>#iU" ,="" $txt))="" return="" false;="" elseif="" (preg_match("#(<[^="">]+)style=([\`\'\"]*).*behaviour" /></span>[^>]*>#iU", $txt)) return false;
elseif (preg_match("#</*(applet|link|style|script|iframe|frame|frameset)[^>]*>#i", $txt)) return false;
return true;
}
Комментарии:
Нету комментариев для вывода...