Uma inspiração repentina naquele dia foi destinado a correntes anti-roubo
Se um arquivo enviado normalmente for roubado por alguém, aumentará a carga do seu servidor. Na última vez, 164.CC foi pendurado.
Então pense em contramedidas. Atualmente, existem muitos programas de cadeia anti-roubo, mas eles não são fáceis de usar e não são livres ...
Então, você só pode pensar em uma solução primeiro. Então, agora olhe para o título e pense na cadeia anti-roubo, talvez você tenha algumas pistas.
Posso modificar o nome da pasta em que o arquivo carregado está localizado de tempos em tempos, e o programa deste site obtém dinamicamente o nome da pasta. Dessa forma, o site que originalmente roubou arquivos neste site não encontrará o arquivo devido a erros de caminho, realizando assim o link anti-roubo.
Então, como usar o FSO para modificar o nome de uma pasta?
Uma função simples:
A cópia do código é a seguinte:
<%
FunctionFlDrename (Nowfld, newfld)
Nowfld = server.mappath (Nowfld)
newfld = server.mappath (newfld)
Setfso = createObject ("script.filesystemoBject")
ifnotfso.Polderexists (agorafld) então
Response.Write ("O caminho da pasta que precisa ser modificado está incorreto ou o nome da pasta é inserido incorretamente")
outro
fso.copyFolderNowfld, newfld
fso.DeleteFolder (Nowfld)
endif
setfso = nada
Função final
%>
Em geral, é copiar o conteúdo da pasta atual em uma nova pasta e excluir o conteúdo da pasta, alcançando indiretamente o objetivo de renomear a pasta.
Esse é um problema paranóico, porque ao modificar o nome da pasta, especialmente quando o conteúdo da pasta da pasta a ser modificado é a quantidade G, o tempo de espera é um pouco não lucrativo em comparação com o FTP modificando remotamente o nome.
Algumas pessoas dizem que o FSO pode modificar diretamente o nome da pasta? Eu não quero fazer isso.
Aplique esta função
<%callfldrename ("ex01", "ex02")%>
O significado básico é modificar o nome da pasta Ex01 no mesmo diretório que o arquivo de execução do programa para ex02
Aqui está o meu relatório de teste local:
1. Este programa não consome tempo de execução do programa
2. Leva cerca de 50 segundos para executar a alteração de nome indireta da pasta 1G, que é na verdade a cópia do arquivo e o tempo de transferência do servidor.
3. O consumo de CPU não é muito alto, cerca de 30%
4. Se a máquina falhar repentinamente ou a energia for perdida no meio da mudança de nome, duas situações ocorrerão:
um. A nova pasta é criada inicialmente (a nova pasta não é construída) e, na próxima vez que o programa for executado, já existe um erro: já existe um erro do arquivo de tempo de execução do Microsoft VBScript (0x800A003A). Neste momento, você pode excluir apenas a nova pasta após o FTP (tentando usar o FSO para excluir a nova pasta não é eficaz).
b. Alguns arquivos foram copiados. Na próxima vez que o programa for executado, o conteúdo da pasta copiada será substituída automaticamente e o conteúdo da pasta original ainda existirá. A pasta original e seus arquivos serão excluídos somente após a cópia.
5. Ao mesmo tempo, você precisa prestar atenção ao nome da nova pasta para evitar duplicar o nome da pasta existente. Obviamente, você também pode usar o programa para julgá -lo.