Inspirasi tiba-tiba hari itu ditujukan untuk rantai anti-pencurian
Jika file yang diunggah secara normal dicuri oleh seseorang, itu akan meningkatkan beban di server Anda. Terakhir kali, 164.cc digantung.
Kemudian pikirkan penanggulangan. Saat ini, ada banyak program rantai anti-pencurian, tetapi mereka tidak mudah digunakan, dan mereka tidak gratis ...
Jadi, Anda hanya bisa memikirkan solusi sendiri terlebih dahulu. Jadi, sekarang lihat judulnya dan pikirkan tentang rantai anti-pencurian, mungkin Anda akan memiliki beberapa petunjuk.
Saya dapat memodifikasi nama folder di mana file yang diunggah terletak dari waktu ke waktu, dan program situs web ini secara dinamis memperoleh nama folder. Dengan cara ini, situs yang awalnya mencuri file di situs web ini tidak akan menemukan file karena kesalahan jalur, sehingga mewujudkan tautan anti-pencurian.
Jadi, bagaimana menggunakan FSO untuk memodifikasi nama folder?
Fungsi Sederhana:
Salinan kode adalah sebagai berikut:
<%
Functionfldrename (nowfld, newfld)
nowfld = server.mappath (nowfld)
newfld = server.mappath (newfld)
SetFSO = createObject ("Scripting.FilesystemObject")
IFNOTFSO.Folderexists (NowFLD) lalu
response.write ("jalur folder yang perlu dimodifikasi salah atau nama folder dimasukkan secara tidak benar")
kalau tidak
fso.copyfoldernowfld, newfld
fso.deleteFolder (nowfld)
endif
setfso = tidak ada
Fungsi endfungsi
%>
Secara umum, ini adalah untuk menyalin isi folder saat ini ke folder baru, dan kemudian menghapus isi folder, sehingga secara tidak langsung mencapai tujuan mengganti nama folder.
Ini adalah masalah paranoid, karena ketika memodifikasi nama folder, terutama ketika konten folder folder yang akan dimodifikasi adalah G jumlah, waktu tunggu sedikit tidak menguntungkan dibandingkan dengan FTP dari jarak jauh memodifikasi nama.
Beberapa orang mengatakan bahwa FSO dapat secara langsung memodifikasi nama folder? Saya tidak ingin melakukannya.
Terapkan fungsi ini
<%callfldrename ("ex01", "ex02")%>
Arti dasarnya adalah untuk memodifikasi nama folder EX01 di direktori yang sama dengan file eksekusi program ke EX02
Inilah laporan tes lokal saya:
1. Program ini tidak mengkonsumsi waktu pelaksanaan program
2. Dibutuhkan sekitar 50 detik untuk melakukan perubahan nama tidak langsung dari folder 1G, yang sebenarnya merupakan salinan file dan transfer waktu di sisi server.
3. Konsumsi CPU tidak terlalu tinggi, sekitar 30%
4. Jika mesin tiba -tiba macet atau daya hilang di tengah perubahan nama, dua situasi akan terjadi:
A. Folder baru awalnya dibuat (folder baru tidak dibangun), dan lain kali program dijalankan, kesalahan akan terjadi: File Microsoft VBScript Runtime Error (0x800A003A) sudah ada. Pada saat ini, Anda hanya dapat menghapus folder baru setelah FTP (mencoba menggunakan FSO untuk menghapus folder baru tidak efektif).
B. Beberapa file telah disalin. Lain kali program dijalankan, konten folder yang disalin akan secara otomatis ditimpa, dan konten folder asli masih akan ada. Folder asli dan file -nya akan dihapus hanya setelah menyalin.
5. Pada saat yang sama, Anda perlu memperhatikan nama folder baru untuk menghindari menduplikasi nama folder yang ada. Tentu saja, Anda juga dapat menggunakan program ini untuk menilai itu.