функция проверки изображения на валидность (защита от 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;
}
Теги:
images, xs
Добавлено: 04 Апреля 2018 11:48:23 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...