Внезапное вдохновение в тот день было направлено на противоугонные цепочки
Если загруженный файл обычно украдтся кем -то, он увеличит бремя на вашем сервере. В прошлый раз, 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 (wylfld)
эндиф
setfso = ничего
Конечная функция
%>
В общем, он должен скопировать содержимое текущей папки в новую папку, а затем удалить содержимое папки, тем самым косвенно достигая цели переименования папки.
Это параноидальная проблема, потому что при изменении имени папки, особенно когда папки папки, подлежащая изменению, составляет G -количество G, время ожидания немного невыгодна по сравнению с FTP удаленно изменяет имя.
Некоторые люди говорят, что FSO может напрямую изменить имя папки? Я не хочу этого делать.
Применить эту функцию
<%callfldrename ("ex01", "ex02")%>
Основное значение состоит в том, чтобы изменить имя папки EX01 в том же каталоге, что и файл выполнения программы на EX02
Вот мой местный отчет о тестировании:
1. Эта программа не потребляет время выполнения программы
2. Требуется около 50 секунд, чтобы выполнить косвенное изменение имени папки на 1G, которая на самом деле является временем копирования и передачи файла на стороне сервера.
3. Потребление процессора не слишком высокое, около 30%
4. Если машина внезапно вылетает или мощность теряется в середине изменения имени, произойдут две ситуации:
а Первоначально создается новая папка (новая папка не создана), и в следующий раз, когда будет выполнена программа, возникнет ошибка: файл Microsoft VBScript Runtime Error (0x800A003A) уже существует. В настоящее время вы можете удалить новую папку только после FTP (попытка использовать FSO для удаления новой папки неэффективна).
беременный Некоторые файлы были скопированы. В следующий раз, когда программа будет выполнена, скопированное содержимое папки будет автоматически перезаписано, и исходное содержание папки все еще будет существовать. Оригинальная папка и ее файлы будут удалены только после копирования.
5. В то же время вам нужно обратить внимание на имя новой папки, чтобы избежать дублирования имени существующей папки. Конечно, вы также можете использовать программу, чтобы судить ее.