لاحظت أن هذا الموضوع تردد كثيرا منذ شهرين وحتى الآن .. هناك مواقع تحتاج حماية ملفاتها المعروضة للتحميل لكي لا تضع المواقع الأخرى روابط إلى هذه الملفات وتستهلك الباندودث على الفاضي .. ولذلك فكرت في طريقة مبتكرة لحماية الروابط بنسبة 100% بإذن الله .. هذه الطريقة وفقني الله لها ولم أرها أو أسمع عنها من قبل .. يعني إذا كانت موجودة فعلا فأرجو ألا يشاع أنني سرقتها![]()
وسميته "انسى" لأن هذا ما يقوله السكريبت بلسان حاله للمواقع التي تقتبس الروابطحيث لن يتمكن من يقتبس روابط الملفات من مجاراة السكريبت إن شاء الله ..
فكرة الطريقة
سيتم تغيير أسماء الملفات كل فترة معينة يمكنك أنت تحديدها .. مثلا كل يوم أو كل 12 ساعة أو حتى كل ساعة .. ربما "كل يوم" مناسب للمواقع المتوسطة و"كل 6 ساعات" مناسب للمواقع الكبيرة التي تُسرق روابط موادها بصفة دائمة .. وبهذا إذا وضع أحد المواقع رابطا إلى ملفك فسوف يصبح الرابط خطأ ثاني يوم مثلا .. الطريقة هي:
1- تغيير أسماء الملفات في مجلدها كل فترة زمنية معينة
2- تغيير أسماء الملفات في جدول قواعد البيانات عند تغييرها في مجلدها
3- إرسال رسالة إليك فور التغيير لإخبارك بأي الملفات تغيرت أسماؤها وهل تغيرت أيضا في قواعد البيانات أم لا ..
مميزات الطريقة
1- لا يمكن بأي حال من الأحوال ضربها (اختراقها) - فعالة تماما
2- لا تحتاج إلى أي تعديل في قواعد بياناتك أو ملفاتك سواء الموجودة حاليا أو مستقبلا - أنت تعمل بنفس طريقتك ولا تحتاج لتغييرها
3- لا تحتاج إلى أي عمل إضافي بعد التركيب والتجربة لأول مرة - انس مشاكل السرقة وفكر في تطوير موقعك
4- يمكنها أن تعمل على أي برنامج جاهز أو خاص
5- لا مجال للخطأ .. إذا لم يتم تغيير أسماء الملفات فلن يتم تغييرها في قواعد البيانات .. ستظل كما هي ..
6- يمكنك تنفيذ السكريبت يدويا (بنفسك عن طريق كتابة العنوان في الإكسبلورر) بحيث تغير الأسماء كل فترة أو تنفذه عن طريق الوظيفة المؤقتة (cron job) .
عيوب الطريقة
1- تتطلب منك معرفة كيفية عمل الأشياء التي ستذكر في متطلبات الطريقة (كما سيأتي) ..
2- الإصدار الحالي يعمل إذا كانت أسماء الملفات تخزن في قواعد البيانات على هيئة اسم الملف فقط دون مسار مجلد خاص .. وسوف يتم عمل التعديل لاحقا إن شاء الله .. ظروف الوقت هي السبب
مثال: إذا كانت أسماء الملفات تخزن في قاعدة البيانات على هيئة: file.ext مباشرة وليس files/file.ext فهذا السكريبت يعمل .. أما إذا كان بطريقة files/file.ext فلا تستخدم هذا الإصدار ..
3- السكربت يعمل (حاليا) فقط على البرامج التي تسجل اسم الملف فقط في قاعدة البيانات والملف نفسه في مجلد .. لا يعمل على قواعد البيانات التي تخرن الملفات نفسها فيها بدلا من المجلدات ..
مثال: منتديات vb لم أدرسها لكنني لاحظت في إصدار أنها تخزن الملف نفسه (أو هكذا أعتقد) في قواعد البيانات لذلك لا ينفع معها السكريبت .. إذا كانت تخزن الملف في مجلد واسمه فقط في قواعد البيانات فسوف يعمل إن شاء الله ..
متطلبات الطريقة
1- القدرة على إنشاء وظيفة مؤقتة (cron job) (اختياري)
وهذا متاح من لوحة التحكم الخاصة بالاستضافة ..
2- إعطاء تصريح 777 لمجلد الملفات
وهذا أساسا موجود في معظم المواقع التي تعرض الملفات للتحميل ..
3- وجود حقلين ضمن حقول جدول الملفات في قاعدة البيانات
وهما حقل يمثل رقم الملف وحقل فيه اسم الملف .. لا يهم ما هي أسماء الحقول لكن يهم أن تعرفهما لتكتبهما في السكريبت ..
الطريقة
الجزء الأول: إعداد الملف
1- افتح الملف المرفق .. واكتب البيانات المطلوبة:
host: سيرفر قواعد البيانات (في الغالب: localhost)
user: مستخدم قواعد البيانات
pass: كلمة المرور لقواعد البيانات
db: اسم قاعدة البيانات
table: الجدول الذي فيه أسماء الملفات
file_field: اسم الحقل الذي فيه أسماء الملفات
id_field: اسم الحقل الذي فيه أرقام الملفات التسلسلية
email: الإيميل الخاص بك ليتم إرسال تقرير إليك كلما تم تعديل أسماء الملفات
الجزء الثاني: رفع الملف
1- غير اسم الملف إلى أي اسم من اختيارك .. وحافظ على امتداده: php
2- ارفع الملف إلى المجلد الذي فيه الملفات التي تعرضها للتحميل
3- الآن جرب الملف لأول مرة .. اكتب عنوان الملف كاملا .. وبعد أن يسكت الإكسبلورر وتظهر صفحة فيها أن كل شيء تم والحمد لله اذهب إلى إيميلك وشوف التقرير .. أما إذا ظهرت لديك رسائل خطأ في الصفحة فهذا إما من إعدادات قواعد البيانات التي كتبتها (عدلها وجرب) أو لأن أسماء الملفات تسجل في قواعد البيانات ومعها مسارها (انتظر الإصدارة التالية) ..
الجزء الثالث: إعداد الوظيفة المؤقتة
هذا الجزء اختياري .. إذا لم ترد أن تتعمق فيه فيمكنك تنفيذ السكريبت كل مرة (كل يوم مثلا) بكتابة عنوانه في الإكسبلورر ..
كذلك لا تضف الوظيفة المؤقتة إلا بعد أن تجرب السكربت وتطمئن لنتيجته ..
1- ادخل لوحة التحكم (cpanel)
2- اضغط: cron jobs
3- اضغط standard
4- اختر التوقيت الذي تريده .. مثلا إذا كل يوم فاترك التوقيت كما هو (ستجد الدقائق 0 والساعات 3 صباحا والأيام كل يوم والشهور كل شهر وأيام الأسبوع كل الأيام)
5- في حقل Command to run: اكتب:
http://www.example.com/files/file.php
بحيث يكون هذا عنوان الملف في موقعك ..
تحذيرات
1- إذا لم تكن متأكدا من طريقة عمل قواعد البيانات وهل هي تسجل الملف نفسه في جداولها أم اسم الملف فقط فلا تستخدم السكربت الآن حتى تعرف ..
2- لا توجد طريقة أوتوماتيكية لإعادة أسماء الملفات إلى أسمائها السابقة .. لذلك اقرأ هذا الموضوع بعناية لتتأكد من وجود اشتراطاته لديك ..
3- أفضل طريقة هو أن تعمل نسخة جديدة من البرنامج الذي تستخدمه حاليا في موقعك في مجلد جديد وترفع عدة ملفات للتجربة وتشوف النتيجة .. إذا تغيرت الأسماء في المجلد التجريبي وفي قاعدة البيانات فتوكل على الله ونفذ ..
شروط الاستخدام
1- إذا نجحت معك الطريقة فاسمح لي أن أطلب منك شيئين:
أ- الدعاء لي ولأسرتي
ب- رابطا إلى موقعي كجزء من "مواقع صديقة" أو أي مسمى
2- عدم استخدام السكربت مع مواد لا ترضي الله .. وأنا بريء من أي استخدام له في هذه المواد .. وخصيم لمن استخدمه يوم القيامة ..
طبعا إذا احتجت إلى أي مساعدة فلا تتردد ..![]()