Prefácio
⑴ Em locais públicos, como salas de leitura eletrônica, salas de informática e cibercafés, devido ao uso frequente e à manutenção atrasada, é comum que sistemas de saída, como unidades de disquete, sejam danificados. A saída é frequentemente descoberta quando você precisa produzir. os dados processados Há muita frustração quando o equipamento não funciona e, para economizar custos, muitas salas de informática não possuem todos os dispositivos de saída necessários nos computadores conectados à rede.
⑵ À medida que os computadores se tornam mais populares, as pessoas tornam-se cada vez mais dependentes deles. Muitas tarefas de escritório são inseparáveis dos computadores. Em outras palavras, os computadores dos funcionários de escritório começaram a armazenar muitos dados importantes de escritório e privados. Na maioria dos casos, estes dados são únicos, o que significa que os seus proprietários não fazem cópias deles e os armazenam em computadores diferentes. A sua segurança depende inteiramente da estabilidade dos computadores dos seus proprietários.
⑶ A popularidade da Internet encurtou a distância entre as pessoas e tornou a comunicação mais conveniente. No entanto, precisamos acessar a Internet todos os dias em diferentes lugares, como residências, escritórios e cibercafés. Talvez você possa transportar esses dados com você por meio de um dispositivo de armazenamento móvel, como uma unidade flash USB ou um disco rígido móvel, mas não é muito conveniente carregar mais um desses dispositivos, especialmente um disco rígido móvel, e em locais diferentes, dispositivos diferentes , e diferentes sistemas operacionais não são adequados para você. O suporte de unidades flash USB ou discos rígidos móveis não é o mesmo e os conhecimentos de informática dos usuários também são diferentes.
...
Devido a estes fatos, o armazenamento em rede surgiu como uma necessidade.
Atualmente, existem muitas maneiras de implementar armazenamento em rede, como e-mail, FTP, locais de rede, HTTP, etc. Entre eles, o FTP possui as funções mais poderosas, mas é um pouco complicado de usar. Muitas configurações são suficientes para dissuadir muitas pessoas. Principalmente quando o número de usuários é imprevisível, as configurações para usuários com necessidades especiais serão mais complicadas. ; o e-mail é familiar para todos Sim, mas dentro da rede local não é uma boa forma de trocar documentos e informações financeiras, trabalhistas e outros dessa forma. impacto no espaço de correio; vizinhos de rede podem ser compartilhados especificando-o nesta máquina e pastas da Web, os usuários dentro de um determinado intervalo podem acessar esses arquivos. O mesmo endereço de segmento DNS pode acessá-lo sem problemas. Outros, especialmente usuários na Internet, são difíceis de usar e, como o e-mail, não são intuitivos de usar. Muitas vezes você precisa pesquisar em muitas listas de computadores para obter o recurso desejado. Os métodos de armazenamento em rede mencionados acima também têm uma falha comum: ou seja, os administradores não podem ter uma compreensão clara do uso dos arquivos armazenados no armazenamento em rede e só podem decidir se devem espaçá-los com base no tempo de armazenamento dos arquivos. .
Este artigo apresenta um método de armazenamento de rede relativamente simples implementado por meio de HTTP. Este método é implementado na plataforma WINDOWS através de IIS e ASP/ASP.NET. Além de ser simples de usar e poder carregar qualquer tipo de arquivo, também pode limitar o espaço utilizado pelo usuário. 20 bytes e até centenas de megabytes podem ser gerenciados por administradores. Além disso, a segurança dos arquivos também é garantida. Compreender a estrutura de dados no segundo ponto principal e o código-fonte de upload no terceiro ponto principal deste artigo irá ajudá-lo a criar você mesmo um armazenamento de rede. Você não precisará depender do armazenamento de rede gratuito fornecido no mercado para armazenar dados confidenciais. arquivos dentro da rede Sua segurança está firmemente em suas próprias mãos.
Visão geral e funções básicas
Instale um servidor como host de armazenamento de rede O sistema operacional usa a plataforma Windows e está equipado com IIS5.0 Configure o serviço WEB e crie um site virtual no site principal apontando para o armazenamento de rede. : d:netspacespacenetmyspace. Todos os códigos-fonte asp e asp.net são colocados no site principal (como: c:inetpubwwwroot), e d:netspacespacenetmyspace colocará os arquivos carregados pelos usuários (as alterações no site virtual também devem ser feitas em o código-fonte ajuste de acordo).
1. O banco de dados básico e a estrutura utilizada:
⑴ ftpsapce.mdb: possui a lista de usuários da tabela, a estrutura básica da tabela:
Id: número de sequência, gerado automaticamente;
Xh: Conta de usuário, geração de cadastro e verificação;
Xm: Nome de usuário, geração de cadastro e verificação;
Kl: Senha do usuário, geração de cadastro e verificação;
Maxspace: O limite máximo de espaço do usuário. O valor padrão é usado para registro. O administrador pode redefini-lo através do gerenciamento;
Nowspace: A quantidade de espaço atualmente ocupado pelo usuário;
Lastaccessday: horário do último acesso do usuário, para consulta dos administradores no gerenciamento do espaço;
Fromday: horário de cadastro do usuário;
Checkx: Sinalizador de verificação do usuário.
⑵ Filelist.mdb: contém os arquivos da tabela, a estrutura básica da tabela:
Id: número de sequência, gerado automaticamente;
Filename: nome do arquivo, gerado pelo sistema de upload;
Fsize: valor do tamanho do arquivo;
Xh: conta de usuário;
Atualização: tempo de upload;
Filescript: Descrição do arquivo, que é o caminho e o nome original do arquivo quando o usuário o carrega, para referência quando o usuário carrega
2. Funções básicas
⑴ O usuário efetua login no site principal, entra na página principal do site; e fornece as informações básicas do usuário para registro do usuário.
⑵ O administrador revisará as informações de registro do usuário e definirá o espaço máximo de uso do usuário.
⑶ Os usuários aprovados na revisão fazem upload de arquivos para armazenamento em rede. O sistema determina a legalidade do usuário e a legalidade do arquivo, e registra os arquivos e informações do usuário carregados pelo usuário no banco de dados.
⑷ Usuários aprovados podem recarregar ou excluir os arquivos carregados por meio da função de download.
⑸ O administrador gerencia o espaço da rede com base no banco de dados do usuário e no banco de dados de arquivos.
⑹ O sistema expandido permite que usuários autorizados baixem arquivos carregados por usuários autorizados.
O código-fonte básico do módulo de upload
é limitado por espaço. Este artigo fornece apenas o código-fonte básico do módulo de upload. Se precisar de mais código-fonte, você pode solicitá-lo ao autor por e-mail. no código-fonte estão comentários adicionados pelo autor para conveniência dos leitores. (O texto a seguir foi extraído de upfile.aspx)
<%@ Page Language="VB" Debug="true" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.oledb" %>
<html>
<script idioma="vbscript" runat="servidor">
sub uploadfile (remetente como objeto, e como eventargs)
se fileup.postedfile.contentlength<20 então
erros.text="Você tem que enviar um arquivo tão pequeno, apenas memorize-o."
arquivoinfo.visible=falso
sair do sub
outro
erros.text="Verificação OK"
arquivoinfo.visible=true
end if
*** O item acima verifica o tamanho do arquivo enviado
respace.text="0"
nowspace.text="0"
*** respace refere-se ao espaço restante, nowspace refere-se ao espaço usado
dim xh1 como string =user1.value
dim kl1 as string =pass1.value
*** xh1 refere-se ao número da conta, kl1 refere-se à senha
dim objconnstr as string="provider=microsoft.jet.oledb.4.0;data source="
& server.mappath("ftpspace.mdb")
*** As duas linhas acima devem ser a mesma instrução no código fonte
dim objconn as oledbconnection = new oledbconnection(objconnstr)
dim sql1 as string="selecione * da lista de usuários onde xh='"+xh1+"' e kl='"+kl1+"'"
dim objrscc as oledbcommand= new oledbcommand(sql1,objconn)
objconn.open()
dim objrs como oledbdatareader = objrscc.executereader()
dimix como número inteiro = 0
dim max enquanto
escureça agora enquanto
enquanto ix = 0
se objrs.read() então
se objrs.item("xh")=xh1 então
se objrs.item("kl")=kl1 então
se objrs.item("checkx")=1 então
ix=ix+1
maxs=objrs.item("maxespaço")
agoras=objrs.item("espaçoagora")
terminar se
terminar se
terminar se
outro
ix=-1
terminar se
end while
*** O acima determina se a conta e a senha são legais
se ix<=0 then
erros.text="A senha da conta está errada! Ou o usuário não foi autenticado, aguarde a autenticação do administrador!"
senão
se fileup.postedfile.contentlength>maxs-nows então
se fileup.postedfile.contentlength>=maxs então
erros.text="O tamanho do arquivo é maior que o espaço alocado e não pode ser carregado!"
outro
erros.text="Espaço livre insuficiente, por favor apague os arquivos antigos!"
end if
*** O acima determina a disponibilidade de espaço do usuário
outro
dim obj4str as string="provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("filelist.mdb")
*** As duas linhas acima são a mesma instrução no código fonte dim obj4 como oledbconnection = new oledbconnection(obj4str)
dim sql10 as string="selecionar * dos arquivos"
dim objrc1 como oledbcommand = novo oledbcommand (sql10, obj4)
obj4.open()
dim objrsx como oledbdatareader = objrc1.executereader()
escurecer fn11 enquanto =0
enquanto objrsx.read()
fn11=objrsx("nome do arquivo")
terminar enquanto
dim fn1 como string
fn1=cstr(fn11+1)
*** O texto acima cria um nome de arquivo principal exclusivo para os usuários fazerem upload de arquivos dim objc1str as string="provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("filelist.mdb")
*** As duas linhas acima são a mesma instrução no código fonte dim objc1 as oledbconnection = new oledbconnection(objc1str)
dim sql3 as string="inserir em arquivos(nome do arquivo,fsize, xh,filescript,upday)
valores("+cstr(fn1)+","+cstr(fileup.postedfile.contentlength)+",'"
+xh1+"','"+fileup.postedfile.filename+"','"+cstr(now())+"')"
*** As três linhas acima são a mesma instrução objc1.open() no código-fonte
dim objrs1 como oledbcommand = novo oledbcommand (sql3, objc1)
dim fn2 como string
fn2="d:/netspace/spacenet/myspace/"&cstr(fn1)&".zip"
*** Forneça o caminho absoluto e o nome completo do arquivo enviado pelo usuário fsize.text=cstr(fileup.postedfile. comprimento do conteúdo)
ftype.text=fileup.postedfile.contenttype
fname.text=fileup.postedfile.filename
nome de usuário.text=usuário1.valor
arquivoup.postedfile.saveas(fn2)
objrs1.ExecuteNonQuery()
objrs.fechar
dim sql5 as string = "atualizar lista de usuários definida nowspace = "+ cstr (nows + fileup.postedfile.contentlength) +
",lastaccessday='"+cstr(now())+"' where xh='"+xh1+"'"
*** As duas linhas acima são a mesma instrução no código fonte
dim objrnc as oledbcommand= new oledbcommand(sql5 ,objconn)
objrnc.executenonquery()
respace.text=cstr(maxs-nows-fileup.postedfile.contentlength)&"bytes."
nowspace.text=cstr(nows+fileup.postedfile.contentlength)&"bytes."
*** O valor acima é usado para upload, e o espaço total usado e o espaço restante total do usuário são calculados no final se
terminar se
final sub
</script>
<corpo>
<form enctype="multipart/form-data" runat="servidor">
<tabela>
<tr><td>Conta:</td><td><input id="user1" runat="server"></td></tr>
<tr><td>Senha:</td><td><input type="password" id="pass1" runat="server"></td></tr>
<tr><td>Arquivo:</td><td><input type="file" id="fileup" runat="server"></td></tr>
<tr><td></td><td><asp:button id="upload" onclick="uploadfile" text="Upload"
runat="servidor"/></td></tr>
</tabela>
</form><hr>
<div id="fileinfo" visível="false" runat="servidor">
Nome do arquivo original:<asp:label id="fname" runat="server"/><br>
Tamanho do byte:<asp:label id="fsize" runat="server"/><br>
Tipo de arquivo:<asp:label id="ftype" runat="server"/><br>
Conta de usuário:<asp:label id="username" runat="server"/><br>
Espaço restante:<asp:label id="respace" runat="server"/><br>
Espaço usado:<asp:label id="nowspace" runat="server"/><br>
Status do upload:<asp:label id="errors" runat="server"/>
</div>
*** O texto acima informa ao usuário as informações relevantes antes e depois do upload do arquivo no navegador.
</body>
</html>
Conclusão
O método descrito neste artigo é baseado em tecnologia sem componentes e leva em consideração mais aspectos de segurança de arquivos e privacidade pessoal. É mais adequado para uso em plataformas Windows Server 2003 e IIS6.0. simples e seguro e pode ser ligeiramente expandido, como adicionar o número do usuário e o número do grupo na lista de usuários e adicionar o número do grupo nos arquivos, você pode definir as permissões do arquivo, o que pode facilitar o envio, verificação e compartilhamento de arquivos na rede. . Juntamente com uma matriz de disco, a segurança dos dados será melhorada qualitativamente.