PDA

View Full Version : امنیت در ذخیره داده و عکس



mafila
شنبه 23 مرداد 1395, 14:53 عصر
سلام دوستان و اساتید محترم
من یک کد برای درج اطلاعات و درج عکس در دیتابیس نوشتم. از نظر امنیتی مشکلی نداره؟
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data=mysql_real_escape_string($data);
return $data;
}
$files=array('config.php');
$strpos=strpos('config.php','http://');
if(in_array('config.php',$files) && !$strpos)
include_once('config.php');
$con=mysql_connect($server,$db_un,$db_pw);
mysql_select_db($db_name, $con);
mysql_query('SET NAMES \'utf8\'');

$s_s1=test_input($_POST["s1"]);


$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["fn"]["name"]);
$extension = end($temp);
if ((($_FILES["fn"]["type"] == "image/gif")
|| ($_FILES["fn"]["type"] == "image/jpeg")
|| ($_FILES["fn"]["type"] == "image/jpg")
|| ($_FILES["fn"]["type"] == "image/pjpeg")
|| ($_FILES["fn"]["type"] == "image/x-png")
|| ($_FILES["fn"]["type"] == "image/png"))
&& ($_FILES["fn"]["size"] <= 350000)
&& in_array($extension, $allowedExts))
{
$filename = basename($_FILES['fn']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
$photo = &$_FILES['fn'];
$flag=0;
if($photo["type"]=="image/jpg" || $photo["type"]=="image/jpeg" || $photo["type"]=="image/pjpeg")
{
$src = imagecreatefromjpeg($photo['tmp_name']);
$w = ImageSX($src);
$h = ImageSY($src);
$dst = imagecreatetruecolor($w, $h);
ImageCopy($dst, $src, 0, 0, 0, 0, $w, $h);
$flag=imagejpeg($dst,"mypic/".$photo['name']);
}
ImageDestroy($dst);
ImageDestroy($src);
if($flag==1)
{
$destination="mypic/";
$destination.=$photo['name'];
$query = "INSERT INTO tbl VALUES('$s_s1', '$destination' )";
mysql_query($query);
}
}