سوالف اندرويد




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو جديد
#1  
Question ما هي الطريقة الأكثر أماناً لفحص الملف قبل الرفع

السلام عليكم

بدأت بإنشاء سكربت مركز رفع ملفات بسيط وآمن بدون قاعدة بيانات
ولكن توقفت عند خطوة رفع أنواع الملفات
في البداية أردت أن يكون الفحص للملف المرفوع عن طريق نوع الملف وذلك بقراءة الجزء الأخير من اسم الملف أي بعد النقطة (.gif)


ولكنها كانت غير آمنه

فحولت طريقة الفحص إلى mime type
ولكنها أيضا لم تعجبني لأن نوع الملف يتغير من متصفح إلى آخر

فأردت أن أسألكم هل هناك طريقة لجعل عملية الرفع آمنة؟
وهل هناك دالة لفحص ما بداخل الملف قبل الرفع مع شرح بسيط لهذه الدالة ..

شاكرا تعاونكم معي






diyartt is offline   قديم 13-11-2011, 12:46 PM
الرد مع إقتباس
قلوب تريد .. ورب يشاء
#2  

استخدم داله getimagesize لاستخراج قياس الصوره طبعاً اذا كان اقل من 1px فتوقف عملية تحميل الصوره , وترفض الطلب.






__________________
دخول متقطع لفتره ٣ شهور :) دعواتكم
العاب | القرآن الكريم MP3 | يوتيوب | اختصار الروابط | تحميل صور
EISA AHMED is offline   قديم 13-11-2011, 03:09 PM
الرد مع إقتباس
عضو جديد
#3  

شكرا أخي عيسى على الرد
بالطبع هذه العملية جيدة لأنه إذا كان هناك ملف محوله إلى الصورة فلن يكون له قياس طولي وعرضي
ولكني أتحدث عن الملف بشكل عام وليست الصورة فقط

أنا سمعت عن دالة لفحص ما بداخل الملف قبل الرفع ومنعها إذا كان هناك أكواد بداخله مثل <html> <a>
ويضع فيها (/) أي هكذا </html/> </a/>
هل يمكنكم إعطائي هذه الدالة مع الشرح






diyartt is offline   قديم 14-11-2011, 06:40 AM
الرد مع إقتباس
عضو فعال
#4  

احسن طريقة هى mime type






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 15-11-2011, 03:39 AM
الرد مع إقتباس
عضو جديد
#5  
Arrow

إقتباس:
المشاركة الأصلية بواسطة محمدهلال مشاهدة مشاركة
احسن طريقة هى mime type
شكرً أخي محمد على ردك

هل جربت طريقة mime type في متصفحات مختلفة ؟!

جرب رفع ملف zip بهذا الكود في متصفح فيرفوكس واكسبلورر و جوجل شروم
كود PHP:
<? $filetype $_FILES['file']['type'];
if (isset(
$_POST['do_up']) and $_POST['do_up'] == 'upload') { echo $filetype; } ?>
<form action='up.php' method='post' enctype='multipart/form-data'>
<input type='file' name='file' />
<input type='submit' name='do_up' value='upload' />
</form>
ستجد أن الفيرفوكس يقول mime type هذا الملف هو application/zip
وفي اكسبلورر application/x-zip-compressed
وفي جوجل شروم application/octet-stream

و application/octet-stream من أخطر الأنواع إذا أعطيت تصريح السماح برفع هذه الأنواع من الملفات


أرجو من الإخوان الأعضاء إعطائي طريقة آمنة لرفع الملفات
بانتظاركم ...








diyartt is offline   قديم 18-11-2011, 01:07 PM
الرد مع إقتباس
عضو مميز
#6  

لا يوجد طريقة آمنة
الطريقة هي ان توافق على ال mime type وترفع الملف في مسار تحدده انت متداخل ثم تغير ترميزه مثلاً تخليه بدل

name.zip يصبح name.attach

الان لما يحضر الشخص للتحميل لا تعطيه رابط الملف ولكن ملف php يقوم بجلب الملف داخلياً وعرض المحتوى للتحميل

لهذا كل ما سيستطيع عمله هو تحميل الملف فقط بدون روابط مباشرة

وهناك حل وهو الرفع داخل فولدر معطل به تشغيل ال php بواسطة htaccess






محب الله ورسوله is offline   قديم 19-11-2011, 04:11 AM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
شرح الطريقة الصحيحة لتركيب علم الدولة في حقل الملف الشخصي لكل عضو في المنتدى vb 3.8.x zuhairtaha الهاكات والإضافات 0 28-10-2010 02:15 PM
أساليب تشفير البرنامج الأكثر أماناً ! crew البودكاست podcast والسكرين كاست screencast 3 31-05-2010 05:16 AM
كيفية عمل جارى الرفع اثناء عملية الرفع dr.mado البرمجية القياسية Ajax +XML+ CSS+ JavaScript وغيرها 2 27-07-2009 12:28 PM
مساعدة في حجم الملف الحمل على سكربت الرفع love php PHP 4 10-05-2009 07:14 AM
ممكن طريقة حساب حجم الملف والوقت المستغرق في الرفع ؟ كلاس او الطريقة !! تكفوووون Important PHP 8 10-12-2007 09:25 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 10:15 PM.