كان الإلهام المفاجئ في ذلك اليوم يهدف إلى سلاسل مضادة للسرقة
إذا سُرق ملف يتم تحميله عادةً من قبل شخص ما ، فسيزيد من العبء على الخادم الخاص بك. آخر مرة ، 164.cc معلقة.
ثم فكر في التدابير المضادة. حاليًا ، هناك العديد من برامج سلسلة مضادات السرقة ، لكنها ليست سهلة الاستخدام ، وهي ليست مجانية ...
لذلك ، يمكنك فقط التفكير في حل بنفسك أولاً. لذا ، انظر الآن إلى العنوان وفكر في سلسلة مكافحة السرقة ، ربما سيكون لديك بعض القرائن.
يمكنني تعديل اسم المجلد حيث يوجد الملف الذي تم تحميله من وقت لآخر ، ويحصل برنامج هذا الموقع ديناميكيًا على اسم المجلد. وبهذه الطريقة ، لن يجد الموقع الذي سرقت في الأصل الملفات على هذا الموقع الملف بسبب أخطاء المسار ، وبالتالي تحقيق رابط مضاد للسرقة.
لذلك ، كيفية استخدام FSO لتعديل اسم المجلد؟
وظيفة بسيطة:
نسخة الكود كما يلي:
<٪
FunctionFldRename (Nowfld ، NewFLD)
nowfld = server.mappath (nowfld)
newfld = server.mappath (newFLD)
setfso = createObject ("scripting.filesystemObject")
ifnotfso.folderexists (nowfld) ثم
Response.write ("مسار المجلد الذي يجب تعديله غير صحيح أو يتم إدخال اسم المجلد بشكل غير صحيح")
آخر
fso.copyfoldernowfld ، newfld
fso.deletefolder (nowfld)
Endif
setfso = لا شيء
الوظيفية
٪>
بشكل عام ، هو نسخ محتويات المجلد الحالي إلى مجلد جديد ، ثم حذف محتويات المجلد ، وبالتالي تحقيق الغرض من إعادة تسمية المجلد.
هذه مشكلة بجنون العظمة ، لأنه عند تعديل اسم المجلد ، خاصةً عندما يكون محتويات المجلد المراد تعديلها هو كمية G ، فإن وقت الانتظار غير مربح بعض الشيء مقارنةً بتعديل الاسم عن بُعد عن بُعد.
يقول بعض الناس أنه يمكن FSO تعديل اسم المجلد مباشرة؟ لا أريد أن أفعل ذلك.
تطبيق هذه الوظيفة
<٪ CallFldRename ("ex01" ، "ex02") ٪>
المعنى الأساسي هو تعديل اسم مجلد ex01 في نفس الدليل مثل ملف تنفيذ البرنامج إلى ex02
هنا تقرير الاختبار المحلي الخاص بي:
1. هذا البرنامج لا يستهلك وقت تنفيذ البرنامج
2. يستغرق الأمر حوالي 50 ثانية لإجراء تغيير الاسم غير المباشر لمجلد 1G ، وهو في الواقع نسخة الملف ووقت نقلها على جانب الخادم.
3. استهلاك وحدة المعالجة المركزية ليس مرتفعًا جدًا ، حوالي 30 ٪
4. إذا كانت الآلة قد تعطلت فجأة أو فقدت الطاقة في منتصف تغيير الاسم ، فسيحدث حالتان:
أ. يتم إنشاء المجلد الجديد مبدئيًا (لم يتم تصميم المجلد الجديد) ، وفي المرة التالية التي يتم فيها تنفيذ البرنامج ، سيحدث خطأ: موجود خطأ في وقت تشغيل Microsoft VBScript (0x800A003A) موجود بالفعل. في هذا الوقت ، يمكنك فقط حذف المجلد الجديد بعد FTP (محاولة استخدام FSO لحذف المجلد الجديد غير فعال).
ب. تم نسخ بعض الملفات. في المرة القادمة التي يتم فيها تنفيذ البرنامج ، سيتم كتابة محتوى المجلد النسخ تلقائيًا ، وسيظل محتوى المجلد الأصلي موجودًا. سيتم حذف المجلد الأصلي وملفاته فقط بعد النسخ.
5. في الوقت نفسه ، تحتاج إلى الانتباه إلى اسم المجلد الجديد لتجنب تكرار اسم المجلد الحالي. بالطبع ، يمكنك أيضًا استخدام البرنامج للحكم عليه.