PDA

View Full Version : کمک در ایمن کردن <input type="file" name="file">



ms11309
چهارشنبه 19 تیر 1392, 19:16 عصر
با سلام
من در سایت یه بخش برای آپلود عکس قرار داده ام ولی مدتیست که فردی یا افرادی فایلهایی مثل
sql.php
.htaccess
vb.php
injec.php
config.cc
cpanel.php
آپلود میکنند که محتوی آنها مشابه بود
که من فورا پاک کردم و بستم اون بخش رو

چه طور میتونم برای

<input type="file" name="file">

این قسمت محدودیت بزارم در پسوند؟که فقط jpg آپلود شه؟

SlowCode
چهارشنبه 19 تیر 1392, 19:23 عصر
سلام
شما سمت سرور باید چک کنی که فرمت فایل ها فرمت تصویر هستند یا نه!(بهتره از لیست سفید استفاده کنی)
از mime-type هم استفاده کن و فقط به پسوند فایل ها بسنده نکن.
http://php.net/manual/en/function.mime-content-type.php

ms11309
چهارشنبه 19 تیر 1392, 21:17 عصر
سلام
شما سمت سرور باید چک کنی که فرمت فایل ها فرمت تصویر هستند یا نه!(بهتره از لیست سفید استفاده کنی)
از mime-type هم استفاده کن و فقط به پسوند فایل ها بسنده نکن.
http://php.net/manual/en/function.mime-content-type.php

ممنوم ولی میشه بیشتر توضیح بدید
یا نمونه کدیقرار بدید؟

ممنمون

ms11309
چهارشنبه 19 تیر 1392, 21:32 عصر
لطفا یکی کمک کنه

ms11309
چهارشنبه 19 تیر 1392, 22:17 عصر
<?php
} else {
foreach($_FILES as $file_name => $file_array)
{
if($file_array['type']=="image/gif" || $file_array['type']=="image/pjpeg" || $file_array['type']=="image/jpeg" || $file_array['type']=="image/x-png"){
if($file_array['size']>102400){
echo'كيلوبايت';
} else {
if($image=="image.jpg"){
} else {
@unlink("$image");
}
move_uploaded_file($file_array['tmp_name'], "$file_array[name]");
include('config.php');
$fullname = "$file_array[name]";
mysql_query("UPDATE image SET image='$fullname' WHERE img_id='$img_id'");
echo'با موفقيت انجام شد';
}

?>

این کد منه
حالا میخوام محدودیت پسوند داشته باشه

ravand
پنج شنبه 20 تیر 1392, 09:09 صبح
اینجام یه سر بزن بد نیست
http://barnamenevis.org/showthread.php?382054-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%BE%D8%B3%D9%88%D9%86%D8%AF-%D8%B9%DA%A9%D8%B3-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-(%D8%AD%D9%84-%D8%B4%D8%AF)&p=1691228#post1691228