Eine plötzliche Inspiration an diesem Tag richtete sich an Anti-Diebstahl-Ketten
Wenn eine Datei normalerweise von jemandem gestohlen wird, erhöht sie die Belastung Ihres Servers. Letztes Mal wurde 164.cc aufgehängt.
Dann denken Sie an Gegenmaßnahmen. Derzeit gibt es viele Anti-Diebstahl-Kettenprogramme, aber sie sind nicht einfach zu bedienen, und sie sind nicht frei ...
Sie können sich also nur zuerst selbst eine Lösung vorstellen. Schauen Sie sich jetzt den Titel an und denken Sie an die Anti-Diebstahl-Kette, vielleicht haben Sie einige Hinweise.
Ich kann den Ordnernamen ändern, in dem sich die hochgeladene Datei von Zeit zu Zeit befindet, und das Programm dieser Website erhält den Ordnernamen dynamisch. Auf diese Weise findet die Website, die ursprünglich auf dieser Website Dateien gestohlen hat, die Datei aufgrund von Pfadfehlern nicht und realisiert so den Anti-Diebstahl-Link.
Wie kann ich FSO verwenden, um den Namen eines Ordners zu ändern?
Eine einfache Funktion:
Die Codekopie lautet wie folgt:
<%
FunctionFldrename (nowfld, newfld)
nowfld = server.mappath (nowfld)
newfld = server.mappath (newfld)
Setfso = createObject ("scripting.filesystemObject")
ifnotfSo.FORDEREXISTS (NOWFLD) dann
response.write ("Der Ordnerpfad, der geändert werden muss, ist falsch oder der Ordnerame wird falsch eingegeben").
anders
fso.copyFoldernowfld, newfld
fso.deleteFolder (nowfld)
Endif
setfso = nichts
Endfunktion
%>
Im Allgemeinen soll der Inhalt des aktuellen Ordners in einen neuen Ordner kopiert und dann den Inhalt des Ordners gelöscht werden, wodurch indirekt den Zweck der Umbenennung des Ordners erreicht wird.
Dies ist ein paranoides Problem, da bei der Änderung des Ordnersamens, insbesondere wenn der Ordnergehalt des zu modifizierten Ordners G -Menge ist, die Wartezeit im Vergleich zu FTP -FTP -Modifizierung des Namens etwas unrentabel ist.
Einige Leute sagen, dass FSO den Ordnernamen direkt ändern kann? Ich will es nicht tun.
Wenden Sie diese Funktion an
<%CALLFLDRENAME ("ex01", "ex02")%>
Die grundlegende Bedeutung besteht darin, den Namen des Ex01 -Ordners im selben Verzeichnis wie die Programmausführungsdatei an Ex02 zu ändern
Hier ist mein lokaler Testbericht:
1. Dieses Programm verbraucht keine Programmausführungszeit
2. Die Durchführung der indirekten Namensänderung des 1G -Ordners dauert ungefähr 50 Sekunden. Dies ist tatsächlich die Dateikopie und Übertragungszeit auf der Serverseite.
3. CPU -Verbrauch ist nicht zu hoch, etwa 30%
4. Wenn die Maschine plötzlich abstürzt oder in der Mitte der Namensänderung verloren geht, treten zwei Situationen auf:
A. Der neue Ordner wird ursprünglich erstellt (der neue Ordner ist nicht erstellt), und beim nächsten Mal wird ein Fehler auftreten: Microsoft VBScript -Laufzeitfehler (0x800a003a) wird bereits vorhanden. Zu diesem Zeitpunkt können Sie den neuen Ordner nur nach FTP löschen (versucht, FSO zu verwenden, um den neuen Ordner zu löschen, ist nicht effektiv).
B. Einige Dateien wurden kopiert. Wenn das Programm das nächste Mal ausgeführt wird, wird der kopierte Ordnerinhalt automatisch überschrieben und der ursprüngliche Ordnerinhalt wird weiterhin vorhanden. Der ursprüngliche Ordner und seine Dateien werden erst nach dem Kopieren gelöscht.
5. Gleichzeitig müssen Sie auf den Namen des neuen Ordners achten, um das Duplizieren des Namens des vorhandenen Ordners zu vermeiden. Natürlich können Sie das Programm auch verwenden, um es zu beurteilen.