dakata__92
Super Moderator
Добре. Мм да погледнем една базова ситуация с проста функция. Имаме:
Проверява посредством getimagesize от GD библиотеката типа на изображението. Да но идва един интересен факт, че се байпасва лесно с преименуване на екстеншъна и кажи речи е уязвимо за вкарване на шел. Как се прави превент на този проблем като впрочем регулярните изрази също имат този проблем до някаква степен, като естествено зависи от това как са написани. Малко е банална темата но ме интересува понеже си правя библиотека на фрейма и искам да имам защита от този вид атака. Шела е опасно нещо, поради което искам да се защитя максимално.
PHP:
function is_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
{
return true;
}
return false;
}