Une inspiration soudaine ce jour-là visait les chaînes anti-vol
Si un fichier téléchargé normalement est volé par quelqu'un, il augmentera le fardeau de votre serveur. La dernière fois, 164.cc a été accroché.
Pensez ensuite aux contre-mesures. Actuellement, il existe de nombreux programmes de chaîne antivol, mais ils ne sont pas faciles à utiliser, et ils ne sont pas gratuits ...
Donc, vous ne pouvez que penser à une solution vous-même. Alors, regardez maintenant le titre et pensez à la chaîne antivol, peut-être que vous aurez des indices.
Je peux modifier le nom du dossier où se trouve le fichier téléchargé de temps à autre, et le programme de ce site Web obtient dynamiquement le nom du dossier. De cette façon, le site qui a volé à l'origine des fichiers sur ce site Web ne trouvera pas le fichier en raison d'erreurs de chemin, réalisant ainsi le lien antivol.
Alors, comment utiliser FSO pour modifier le nom d'un dossier?
Une fonction simple:
La copie de code est la suivante:
<%
FunctionflDrename (nowfld, newfld)
NowFld = Server.Mappath (NowFld)
newfld = server.mappath (newFld)
Setfso = createObject ("scripting.fileSystemObject")
ifnotfso.folderexists (nowfld) puis
Response.Write ("Le chemin du dossier qui doit être modifié est incorrect ou le nom du dossier est incorrectement entré")
autre
fso.copyfoldernowfld, newfld
FSO.DeleteFolder (NowFld)
endire
setfso = rien
Finition de fin
%>
En général, il s'agit de copier le contenu du dossier actuel dans un nouveau dossier, puis de supprimer le contenu du dossier, atteignant ainsi indirectement le but de renommer le dossier.
Il s'agit d'un problème paranoïaque, car lors de la modification du nom du dossier, en particulier lorsque le contenu du dossier du dossier à modifier est G
Certaines personnes disent que le FSO peut modifier directement le nom du dossier? Je ne veux pas le faire.
Appliquer cette fonction
<% callflDrename ("ex01", "ex02")%>
Le sens de base est de modifier le nom du dossier EX01 dans le même répertoire que le fichier d'exécution du programme à Ex02
Voici mon rapport de test local:
1. Ce programme ne consomme pas le temps d'exécution du programme
2. Il faut environ 50 secondes pour effectuer le changement de nom indirect du dossier 1G, qui est en fait le temps de copie de fichiers et de transfert côté serveur.
3. La consommation du processeur n'est pas trop élevée, environ 30%
4. Si la machine s'écrase soudainement ou que l'alimentation est perdue au milieu du changement, deux situations se produiront:
un. Le nouveau dossier est initialement créé (le nouveau dossier n'est pas construit), et la prochaine fois que le programme sera exécuté, une erreur se produira: le fichier d'exécution Microsoft VBScript (0x800A003A) existe déjà. Pour le moment, vous ne pouvez supprimer le nouveau dossier qu'après FTP (essayer d'utiliser FSO pour supprimer le nouveau dossier n'est pas efficace).
né Certains fichiers ont été copiés. La prochaine fois que le programme sera exécuté, le contenu du dossier copié sera automatiquement écrasé et le contenu du dossier d'origine existera toujours. Le dossier d'origine et ses fichiers ne seront supprimés qu'après la copie.
5. En même temps, vous devez faire attention au nom du nouveau dossier pour éviter de dupliquer le nom du dossier existant. Bien sûr, vous pouvez également utiliser le programme pour le juger.