27.10.2010, 04:11
|
#47
|
Гость
|
PHP код:
<?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(***91;0-9a-f***93;+);#i", $txt)) return false;
elseif (preg_match('#&\#(***91;0-9***93;+);#i', $txt)) return false;
elseif (preg_match("#(***91;a-z***93;*)=(***91;\`\'\"***93;*)script:#iU", $txt)) return false;
elseif (preg_match("#(***91;a-z***93;*)=(***91;\`\'\"***93;*)javascript:#iU", $txt)) return false;
elseif (preg_match("#(***91;a-z***93;*)=(***91;\'\"***93;*)vbscript:#iU", $txt)) return false;
elseif (preg_match("#(<***91;^>***93;+)style=(***91;\`\'\"***93;*).*expression\(***91;^>***93;*>#iU", $txt)) return false;
elseif (preg_match("#(<***91;^>***93;+)style=(***91;\`\'\"***93;*).*behaviour\(***91;^>***93;*>#iU", $txt)) return false;
elseif (preg_match("#</*(applet|link|style|script|iframe|frame|frameset)***91;^>***93;*>#i", $txt)) return false;
return true;
}
?>
Если немного помогла
|
|
|