با سلام خدمت دوستان
من تازه كارم يك اسكريپ براي بارگذاري وفايلها csv نوشتم درواقعه فايل csv رو ميخونه بعد داده هاي اونو وارد ديتابيس ميكنه
اسكريپم تكميله اما مي خوام تا مي تونم مشكلات امنيتيشو حل كنم
براي لوگين شدن علاوه بر md5 و هش كردن از salt هم استفاده كردم اما مشكلم با فايل csv است من اين كدهارو نوشتم
همينجور كه ميبينيد حجم فايل(علاوه بر اينكه در كد html چك ميشه) و پسوند فايلو هم چك ميكنم
سوالم اينه كه چطور مطمئن بشم كه اين فايل ماهيتن csv است(يعني در اصلا csv بوده نه پسوند فايلو تغيير دادن اصلا ميشه اين چنين كاري كرد
)
دوم چطوري بفهمم كه اين فايل حتما عدد داخلشه نه حرف يا بر عكس چك كنم
لطفا راهنمايي كنيد ممنون
من تازه كارم يك اسكريپ براي بارگذاري وفايلها csv نوشتم درواقعه فايل csv رو ميخونه بعد داده هاي اونو وارد ديتابيس ميكنه
اسكريپم تكميله اما مي خوام تا مي تونم مشكلات امنيتيشو حل كنم
براي لوگين شدن علاوه بر md5 و هش كردن از salt هم استفاده كردم اما مشكلم با فايل csv است من اين كدهارو نوشتم
PHP:
$uploaddir='save/';
$uploadfile=$uploaddir . basename($_FILES['attachment']['name']);
if ($_FILES["attachment"]["size"]<1000000) {
if (substr(basename($_FILES['attachment']['name']), -4) != ".csv")
{
echo'<br><br><center><b>فايل انتخابي شما مجاز نيست</b></center><br><br>';
} else{
if (move_uploaded_file($_FILES['attachment']['tmp_name'], $uploadfile)) {
echo '<br><br><center><b>فايل با موفقيت آپلود شد</b></center><br><br>';
$filename='save/' . basename($_FILES['attachment']['name']);
$handle = fopen("$filename","r");
while (($data = fgetcsv($handle, 3000, ";")) !== FALSE)
{
$month=trim($_POST['month']);
$Message=trim($_POST['Message']);
$time=time();
$query = " INSERT INTO `Law_Fish` VALUES('', '$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]','$data[5]', '$data[6]', '$data[7]', '$data[8]', '$data[9]', '$data[10]', '$data[11]', '$data[12]', '$data[13]', '$data[14]', '$data[15]', '$data[16]', '$data[17]', '$data[18]', '$data[19]', '$data[20]', '$data[21]', '$data[22]', '$data[23]', '$data[24]', '$data[25]', '$data[26]', '$data[27]', '$data[28]', '$data[29]', '$data[30]', '$Message', '$month', '$time'); ";
mysql_query($query) or die("Query failed with error: ".mysql_error());
}
fclose($handle);
}
UNLINK($uploadfile);
}
}
else{
echo '<br><br><center><b>فايل انتخابي شما از حد مجاز بيشتر است</b></center><br><br>';
}
}
سوالم اينه كه چطور مطمئن بشم كه اين فايل ماهيتن csv است(يعني در اصلا csv بوده نه پسوند فايلو تغيير دادن اصلا ميشه اين چنين كاري كرد

دوم چطوري بفهمم كه اين فايل حتما عدد داخلشه نه حرف يا بر عكس چك كنم
لطفا راهنمايي كنيد ممنون