PHP image upload

DownFall

Registered
Здравейте,

До неотдавна честичко ми се случваше някой псевдо хакер да ми качва разни шелчета чрез формата за upload на изображения. В момента отново се опитвам да направя такава и се опитвам да наблегна на security-то, та рекох да се допитам и до вас :)

PHP:
	protected final function avatar_upload()
	{
		$fname = $_FILES['avatar']['name'];
		$tmp_name = $_FILES['avatar']['tmp_name'];
		$ftype = $_FILES['avatar']['type'];
		$fsize = $_FILES['avatar']['size'] / 1024;
		$fext = strtolower(end(explode('.', $fname)));
		$GIS = getimagesize($tmp_name);
		
		if($fsize > $this -> config['upload']['avatar_max_size'])
			$this -> context['Errors'][] = $this -> Lang['Errors']['upload']['large_file'];
		
		if($fsize < 1)
			$this -> context['Errors'][] = $this -> Lang['Errors']['upload']['small_file'];
		
		if(($GIS[0] < 1 || $GIS[1] < 1) || ($GIS['mime'] != $ftype))
			$this -> context['Errors'][] = $this -> Lang['Errors']['upload']['not_image'];
		
		if(!in_array($fext, $this -> config['upload']['img_allow_upload']))		
			$this -> context['Errors'][] = $this -> Lang['Errors']['upload']['not_supported_image'];
		
		if(isset($this -> context['Errors']))
			return false;
	}

Мога ли да се чувствам спокоен или е желателно да направя още някоя и друга проверка? Умувам дали и да не отварям файла и да търся с preg_match() например, някакъв зловреден код в него. Има ли смисъл да го правя?
 
защо просто не направиш да се одобряват от теб снимките ,така ще можеш да прегледаш и да видиш ако има нередности ;]
 
Защото искам системата да може да работи без моята намеса :) Едва ли не да я пусна на "автопилот".
 
еми според мен това което си дал е достатъчно само от едно нещо не можеш да се предпазиш (img + virus) 2 в 1
 
Стига ти проверката дали просто има дължина и височина каченият файл. :?:
 

Back
Горе