صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 17

الموضوع: دعوة للتعديل على الvb -- فكرة عجيبة -- يالله يا خبراء

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538

    دعوة للتعديل على الvb -- فكرة عجيبة -- يالله يا خبراء



    السلام عليكم ورحمة الله وبركاته

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

    اتمنى من الأخوة الخبراء .... يبدأون في التفكير .... والملف المقصود هو Function.php

    والله يعطيكم ألف عافية





    humax9110 غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Apr 2002
    المشاركات
    96


    اخذ نسخة من قاعدة البيانات بدون اخذ ال attachment .





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك
    SUB ZERO غير متواجد حالياً

  3. #3


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





    محمد_يوسف111 غير متواجد حالياً

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    387


    رد مقتبس من محمد_يوسف111
    يا أخي ألا تستطيع الصبر
    أخبرتك أنني سأحاول فعل ذلك والحمد لله انتهيت منه الآن
    يبقى فقط أن أكتب أسماء الملفات والسطور المطلوب تعديلها والتعديلات المناسبة لكل ملف
    خلال ساعة بإذن الله ستكون لديك الطريقة
    طيب أنتظرك بفارغ الصبر





    وليد المطيري غير متواجد حالياً

  5. #5


    ها هي الطريقة كما وعدتكم
    ستتيح لك إرفاق الملفات كملفات عادية على الخادم بلاً من وضعها على قاعدة البيانات.

    اقرأ التعليمات الموجودة في الملف المرفق لكيفية الإعداد

    النسخة التي جربت عليها هي 2.2.5 ولكن أعتقد أنه سيعمل على معظم الإصدارت بداية من الإصدارة 2.0.0





    محمد_يوسف111 غير متواجد حالياً

  6. #6

    أخي الكريم



    شكراً لطرحك هذه الميزة و أود أن استفسر :

    المرفقات السابقة هل من طريقة لتحويلها إلى ملفات عادية ؟!!
    بمعنى آخر المرفقات الموجودة في قاعدة البيانات هل من الممكن استرجاعها على شكل ملفات عادية !!

    مع الشكر أخي الكريم





    from-bahrain غير متواجد حالياً

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538


    شكراً أخي محمد_يوسف111 والله يقويك إن شاء الله والله طلعت راعيه .

    أخي النسخة التي لدّي vb221
    لقد عملت كل شيء.

    لكن
    كود PHP:
    unindexpost($post['postid']); 
    لم أجده في ملف الـFunction.php

    ولما حاولت تشغيل المنتدى وتجربته لم يعمل لي وظهر لي أرور في هذا الملف ... وهذا نص الخطأ :
    Parse error: parse error in C:\apache\htdocs\vb5\admin\functions.php on line 1694

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\admin\functions.php:1694) in C:\apache\htdocs\vb5\admin\functions.php on line 1533

    Fatal error: Call to undefined function: makelogincode() in C:\apache\htdocs\vb5\global.php on line 332


    اتمنى أن تجد لي حل مع هذا





    الملفات المرفقة الملفات المرفقة
    __________________
    إستخدم ملفك الخاص لكتابة توقيعك
    humax9110 غير متواجد حالياً

  8. #8


    عدلت الملف الخاص بك وهو مرفق، ويمكنك استخدامه مباشرة الآن





    محمد_يوسف111 غير متواجد حالياً

  9. #9


    نسيت إرفاقه





    محمد_يوسف111 غير متواجد حالياً

  10. #10


    humax9110 : تجاهل هذا الرد فقد عدلت الملف الخاص بك بشكل صحيح

    أنا آسف ، فهناك نقطتان نسيت إضافتهما إلى ملف functions.txt
    فإذا كنت لم تجرب هذا التعديل بعد، جرب التعديل المرفق هنا بدلاً من الآخر

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

    افتح ملف admin/functions.php

    بالقرب من السطر 1696 :

    ابحث عن :
    كود PHP:
    $DB_site->query("INSERT INTO attachment (attachmentid,userid,dateline,filename,filedata,visible) VALUES (NULL,$bbuserinfo[userid],".time().",'".addslashes($attachment_name)."','".addslashes($filestuff)."','$visible')"); 
    واستبدله بـ :
    كود PHP:
    $DB_site->query("INSERT INTO attachment (attachmentid,userid,dateline,filename,filedata,visible) VALUES (NULL,$bbuserinfo[userid],".time().",'".addslashes($attachment_name)."','".$path."','$visible')"); 


    ********************************************

    ابحث عن :
    كود PHP:
    $path "/home/mnt-users/USERNAME/vb/attach/"  //مع وضع المسار الخاص بك بالطبع 
    واستبدله بـ :
    كود PHP:
    $path "/home/mnt-users/USERNAME/vb/attach/"
    هذا كل شيء


    بالنسبة لتحويل المرفقات في قاعدة البيانات إلى ملفات عادية ، فهذا ممكن بسهولة ولكت يحتاج إلى كود صغير ليفعل ذلك (سأحاول كتابته في وقت لاحق)





    الملفات المرفقة الملفات المرفقة
    محمد_يوسف111 غير متواجد حالياً

  11. #11

    تاريخ التسجيل
    Apr 2001
    المشاركات
    1,897

    السلام عليكم و رحمة الله و بركاته



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

    و السلام عليكم

    عمـاد





    __________________
    الحمد لله على كل حال
    alkahf غير متواجد حالياً

  12. #12


    في الواقع إن وضع الملفات في قاعدة البيانات يكون أسهل كثيراً بالنسبة للمبرمج وبه مزايا لا يمكن إنكارها مثل :
    1-لا توجد مشكلة بالنسبة لتكرار أسماء الملفات في قاعدة البيانات(لأنه لا يتم إنشاء ملفات من الأساس) ، بينما لا يمكن وضع ملفين باسم واحد على الخادم (ولا أي نظام ملفات يمكنه ذلك).
    2-السرعة في الأداء والتقليل من استخدام عمليات الـIO وبذلك يؤدي إلى تقليل الحمل بشكل طفيف على الخادم.
    3-الأمان، فلا يمكن الوصول إلى البيانات الموجودة في الملفات إذا كان مخزنة على قاعدة البيانات، بينما يمكن الوصول إلى الملفات الموجودة على الخادم بكل بساطة بكتابة عنوان الملف


    وفي الواقع ، فهذه المزايا لا تستحق أن تخزن البيانات الموجودة في الملف على قاعدة البيانات ، بل ويمكن عمل workarounds لتكين الملفات العادية من استخدام مزايا قاعدة البيانات مثلاً:
    1-يمكن وضع كود عشوائي بجانب اسم الملف الأصلي ثم تخزينه بالاسم الجديد ، وبذلك إذا استقبل البرنامج ملفين بنفس الاسم يمكنه تخزين كل ملف باسم مختلف مع الحفاظ على الاسم الأصلي في نهاية الملف
    2-حسب قدرة المبرمج ، وقدرات اللغة المستخدمة.
    3-يمكن عمل نظام أمان بعدة طرق منها الحماية بـApache htaccess ولكن تظل لها نقاط ضعف (المستخدمين على نفس الخادم ، قد يمكنهم الوصول إلى هذه الملفات)


    بصورة عامة ، إذا لم تكن تستخدم المنتدى في مراسلات الـCentral Intelligence Agency حول أسامة ابن لادن فلن تجد فارقاً كبيراً بين الملفات الموجودة على الخادم بطريقة عادية والملفات الموجود بياناتها في قاعدة البيانات





    محمد_يوسف111 غير متواجد حالياً

  13. #13

    تاريخ التسجيل
    Apr 2001
    المشاركات
    1,897

    السلام عليكم و رحمة الله و بركاته



    شكراً أخوي
    مثلا يمكن تغيير اسم الملف إلى تاريخ و ساعة و دقيقة إرسال الملف إلى السيرفر ..

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

    و السلام عليكم





    __________________
    الحمد لله على كل حال
    alkahf غير متواجد حالياً

  14. #14


    هذا يعتمد بشكل كبير على نظام التشغيل
    مثلاً إذا كان أحد أنظمة الـUNIX أو UNIX-Like مثل Linux عائلة الـ*BSD :

    لا يمكنك في هذه الأنظمة تشغيل الملفات التنفيذية الخاصة بالويندوز EXE (إلا باستخدام برامج معينة ويجب في هذه الحالة أن تكون أمام الجهاز مباشرة)

    ولكن لها ملفات تنفيذية خاصة بها وهي لا تعتمد على الامتداد بل تعتمد على Permissions فلو أنك حملت ملف تنفيذي خاص بنظام التشغيل Linux مثلاً (برنامج تجسس مثلاً) من المستحيل تشغيله طالما أنه لا يحمل Permission بالتشغيل.
    عندما تحمل هذا الملف إلى الخادم فهو يأخذ الـPermission الخاص بالملفات الجديدة وهذا بدوره يقوم بتحديده مدير النظام System Administrator باستخدام الأمر umask
    سيكون من سوء حظء أن تقع في System Administartor ، يجعل الـPermission الافتراضي للملفات الجديدة تحتوي على تصريح التشغيل فهذا غير مقبول
    الـPermission الأكثر شيوعاً مع umask هو 022 وهو يعني أن الملفات لها التصريح :
    القراءة والكتابة لصاحب الملف
    القراءة فقط للمشاركين في نفس المجموعة
    القراءة فقط للجميع

    وهكذا فلا يمكن تشغيل ملف بعد تحميله إلى الخادم حتى لو كان هذا الملف هو ملف تنفيذي


    بالنسبة لأنظمة الويندوز (الغير آمنة أصلاً بالمناسبة) :
    يتم تشغيل جميع الملفات التي لها امتداد تنفيذي (ثمة محاولات لعمل نظام Permissions مثل ذلك الخاص بأنظمة UNIX وهو ينجح في كثير من الأحوال من منع الملفات ذات الامتداد exe من العمل على الخادم إذا تم طلبها ببروتوكول HTTP ولكنه لا يمكن بأي حال من الأحوال الاعتماد عليه،وهذا رأيي الشخصي )
    وبذلك لا يمكن تشغيل الملف التنفيذي إذا كان امتداده متغيراً (jpg مثلاً)
    فيجب أن يكون الملف بامتداد exe كي يعمل وهذا يمكن منعه من خلال فحص امتداد الملف المرفق قبل تخزينه
    أما بالنسبة لأنظمة الـUNIX فكما قلت فهي لا تعتمد على الامتداد بتاتاً ولذلك يمكنك تحميل أي نوع من الملفات ولن يتم تشغيلها على الإطلاق هذا باستشناء الأنواع التي قد يشغلها خادم الويب نفسه (مثل php , asp , jsp , cf ..... إلخ)





    محمد_يوسف111 غير متواجد حالياً

  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    538

    يبدو أن منتدى سوالف به خطأ



    حبيبي محمد_يوسف111 المحترم أطال الله في عمرك

    أخي لقد حاولت تجريب الفكرة على السيرفر الشخصي (الكمبيوتر)
    ما زالت هناك أخطاء ... عند الضغط على وصلة الملف المرفق يظهر الآتي:
    Warning: fopen("http://localhost/vb5/attach/27_barlove.gif","rb") - No error in C:\apache\htdocs\vb5\attachment.php on line 50

    Warning: Supplied argument is not a valid File-Handle resource in C:\apache\htdocs\vb5\attachment.php on line 52

    Warning: Supplied argument is not a valid File-Handle resource in C:\apache\htdocs\vb5\attachment.php on line 53

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\attachment.php:50) in C:\apache\htdocs\vb5\attachment.php on line 55

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\attachment.php:50) in C:\apache\htdocs\vb5\attachment.php on line 56

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\attachment.php:50) in C:\apache\htdocs\vb5\attachment.php on line 57

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\attachment.php:50) in C:\apache\htdocs\vb5\attachment.php on line 58

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\attachment.php:50) in C:\apache\htdocs\vb5\attachment.php on line 59

    Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\vb5\attachment.php:50) in C:\apache\htdocs\vb5\attachment.php on line 63

    ويبدو لي أن الخطأ المرتكب في تحدبد مسار مجلد الملفات المرفقة
    كود PHP:
    //لا تنسى علامة الـSlash / في نهاية المسار

    $path "/home/mnt-users/USERNAME/vb/attach/"
    لو أردت تجربته على السيرفر الشخثي ما أضع المسار.

    واسمح لي يا أخي أمكن أمللك .... بس استحملني
    والله يجزيك ألف خير





    __________________
    إستخدم ملفك الخاص لكتابة توقيعك
    humax9110 غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض