Prefacio
⑴ En lugares públicos como salas de lectura electrónica, salas de computadoras y cibercafés, debido al uso frecuente y al mantenimiento retrasado, es común que los sistemas de salida, como las unidades de disquete, se dañen. La salida a menudo se descubre cuando es necesario imprimir. los datos procesados. Hay mucha frustración cuando el equipo no funciona y, para ahorrar costes, muchas salas de informática no cuentan con todos los dispositivos de salida necesarios en los ordenadores conectados a la red.
⑵ A medida que las computadoras se vuelven más populares, la gente se vuelve cada vez más dependiente de ellas. Muchas tareas de oficina son inseparables de las computadoras. En otras palabras, las computadoras de los trabajadores de oficina comenzaron a almacenar una gran cantidad de datos privados y de oficina importantes. En la mayoría de los casos, estos datos son únicos, lo que significa que sus propietarios no hacen copias de ellos y los almacenan en diferentes ordenadores. Su seguridad depende enteramente de la estabilidad de los ordenadores de sus propietarios.
⑶ La popularidad de Internet ha acortado la distancia entre las personas y ha hecho que la comunicación sea más conveniente. Sin embargo, necesitamos acceder a Internet todos los días en diferentes lugares, como hogares, oficinas y cibercafés. Quizás pueda llevar consigo estos datos a través de un dispositivo de almacenamiento móvil, como una unidad flash USB o un disco duro móvil, pero no es muy conveniente llevar otro dispositivo de este tipo, especialmente un disco duro móvil, y en diferentes lugares, diferentes dispositivos. Y los diferentes sistemas operativos no son adecuados para usted. La compatibilidad con unidades flash USB o discos duros móviles no es la misma y las habilidades informáticas de los usuarios también son diferentes.
...
Debido a estos hechos, el almacenamiento en red se ha convertido en una necesidad.
Actualmente, existen muchas formas de implementar el almacenamiento en red, como correo electrónico, FTP, Lugares de red, HTTP, etc. Entre ellos, FTP tiene las funciones más poderosas, pero es un poco complicado de usar. Muchas configuraciones son suficientes para disuadir a muchas personas, especialmente cuando la cantidad de usuarios es impredecible, las configuraciones para usuarios con necesidades especiales serán más engorrosas. El correo electrónico es familiar para todos. Sí, pero dentro de la red de área local, no es una buena manera de intercambiar documentos e información financiera, laboral y de otro tipo. Además, cuando su archivo sea lo suficientemente grande, tendrá un efecto fatal. impacto en el espacio de correo; los vecinos de la red se pueden compartir especificando carpetas web y archivos colocados en esta máquina, los usuarios dentro de un cierto rango pueden acceder a estos archivos. Sin embargo, el alcance de este método es bastante limitado. La misma dirección de segmento DNS puede acceder a él sin problemas, especialmente los usuarios de Internet. Es difícil de usar y, al igual que el correo electrónico, no es intuitivo de usar. ¡Muchas veces tienes que buscar en muchas listas de computadoras para obtener el recurso que deseas! Los métodos de almacenamiento en red mencionados anteriormente también tienen un defecto común: es decir, los administradores no pueden tener una comprensión clara del uso de los archivos almacenados en el almacenamiento en red y solo pueden decidir si espaciarlos en función del tiempo de almacenamiento de los archivos. .
Este artículo presenta un método de almacenamiento en red relativamente simple implementado a través de HTTP. Este método se implementa en la plataforma WINDOWS a través de IIS y ASP/ASP.NET. No sólo es sencillo de usar y puede cargar cualquier tipo de archivo, sino que también puede limitar el espacio utilizado por el usuario. Una transmisión puede ser tan pequeña. Los administradores pueden administrar 20 bytes y hasta cientos de megabytes. Además, la seguridad de los archivos también está garantizada. Sólo los propietarios de archivos y las personas autorizadas pueden restaurarlos. Comprender la estructura de datos en el segundo punto principal y el código fuente de carga en el tercer punto principal de este artículo le ayudará a crear un almacenamiento en red usted mismo. No tendrá que depender del almacenamiento en red gratuito que se ofrece en el mercado para almacenar datos confidenciales. archivos dentro de la red. Su seguridad está firmemente en sus propias manos.
Descripción general y funciones básicas
Instale un servidor como host de almacenamiento de red. El sistema operativo utiliza la plataforma Windows y está equipado con IIS5.0. Configure el servicio WEB y cree un sitio web virtual debajo del sitio web principal que apunte al almacenamiento de red. : d:netspace spacenetmyspace. Todos los códigos fuente de asp y asp.net se colocan en el sitio web principal (como: c:inetpubwwwroot), y d:netspacespacenetmyspace colocará los archivos cargados por los usuarios (los cambios en el sitio web virtual también deben realizarse en el código fuente Ajústelo en consecuencia).
1. La base de datos básica y la estructura utilizada:
⑴ ftpsapce.mdb: tiene la lista de usuarios de la tabla, la estructura básica de la tabla:
Id: número de secuencia, generado automáticamente;
Xh: Generación de cuenta de usuario, registro y verificación;
Xm: Nombre de usuario, generación de registro y verificación;
Kl: Generación de contraseña de usuario, registro y verificación;
Maxspace: el límite máximo de espacio de usuario. El valor predeterminado se utiliza para el registro. El administrador puede restablecerlo a través de la administración.
Nowspace: la cantidad de espacio ocupado actualmente por el usuario;
Lastaccessday: la hora del último acceso del usuario, a la que los administradores pueden consultar cuando administran el espacio;
De día: hora de registro de usuario;
Checkx: bandera de verificación de usuario.
⑵ Filelist.mdb: tiene los archivos de la tabla, la estructura básica de la tabla:
Id: número de secuencia, generado automáticamente;
Nombre de archivo: nombre del archivo, generado por el sistema de carga;
Fsize: valor del tamaño del archivo;
Xh: cuenta de usuario;
Actualización: hora de carga;
Filescript: descripción del archivo, que es la ruta y el nombre del archivo original cuando el usuario lo carga, como referencia cuando el usuario lo carga
2. Funciones básicas
⑴ El usuario inicia sesión en el sitio web principal, ingresa a la página principal del sitio web; , y proporciona la información básica del usuario para el registro del usuario.
⑵ El administrador revisará la información de registro del usuario y establecerá el espacio de uso máximo del usuario.
⑶ Los usuarios que pasan la revisión cargan archivos al almacenamiento de red. El sistema determina la legalidad del usuario y la legalidad del archivo, y registra los archivos y la información del usuario cargados por el usuario en la base de datos.
⑷ Los usuarios aprobados pueden recargar o eliminar los archivos que cargaron a través de la función de descarga.
⑸ El administrador administra el espacio de la red en función de la base de datos del usuario y la base de datos de archivos.
⑹ El sistema ampliado permite a los usuarios autorizados descargar archivos cargados por usuarios autorizados.
El código fuente básico del módulo de carga
está limitado por espacio. Este artículo solo proporciona el código fuente básico del módulo de carga. Si necesita más código fuente, puede solicitarlo al autor por correo electrónico. En el código fuente hay comentarios agregados por el autor para comodidad de los lectores. (Lo siguiente es un extracto de upfile.aspx)
<%@ Page Language="VB" Debug="true" %>
<%@ importar espacio de nombres="System.Data" %>
<%@ importar espacio de nombres="System.Data.oledb" %>
<html>
<script language="vbscript" runat="servidor">
subarchivo de carga (remitente como objeto, e como eventargs)
si fileup.postedfile.contentlength<20 entonces
errores.text="Tienes que subir un archivo tan pequeño, sólo memorízalo."
fileinfo.visible=falso
salir sub
demás
errores.text="Verificación correcta"
fileinfo.visible=verdadero
end if
*** Lo anterior verifica el tamaño del archivo cargado
reespacio.text="0"
nowspace.text="0"
*** respace se refiere al espacio restante, nowspace se refiere al espacio usado
dim xh1 como cadena =user1.value
dim kl1 como cadena =pass1.value
*** xh1 se refiere al número de cuenta, kl1 se refiere a la contraseña
dim objconnstr as string="provider=microsoft.jet.oledb.4.0;data source="
& server.mappath("ftpspace.mdb")
*** Las dos líneas anteriores deben ser la misma declaración en el código fuente
dim objconn como oledbconnection = new oledbconnection(objconnstr)
dim sql1 as string="seleccione * de la lista de usuarios donde xh='"+xh1+"' y kl='"+kl1+"'"
objrscc tenue como oledbcommand= nuevo oledbcommand(sql1,objconn)
objconn.open()
objrs tenues como oledbdatareader = objrscc.executereader()
dimix como entero = 0
tenue máximo siempre y cuando
oscuro ahora mientras
mientras ix=0
si objrs.read() entonces
si objrs.item("xh")=xh1 entonces
si objrs.item("kl")=kl1 entonces
si objrs.item("checkx")=1 entonces
ix=ix+1
maxs=objrs.item("maxespacio")
nows=objrs.item("espacioahora")
terminar si
terminar si
terminar si
demás
ix=-1
terminar si
finalizar mientras
*** Lo anterior determina si la cuenta y la contraseña son legales
si ix<=0 entonces
errores.text="¡La contraseña de la cuenta es incorrecta! O el usuario no ha sido autenticado, ¡espere a que el administrador se autentique!"
de lo contrario,
si fileup.postedfile.contentlength>maxs-nows entonces
si fileup.postedfile.contentlength>=maxs entonces
errores.text="¡La longitud del archivo es mayor que el espacio asignado y no se puede cargar!"
demás
errores.text="Espacio libre insuficiente. ¡Borre los archivos antiguos!"
end if
*** Lo anterior determina la disponibilidad del espacio del usuario
demás
dim obj4str como string="proveedor=microsoft.jet.oledb.4.0;
data source=" & server.mappath("filelist.mdb")
*** Las dos líneas anteriores son la misma declaración en el código fuente dim obj4 como oledbconnection = new oledbconnection(obj4str)
dim sql10 como cadena="seleccionar * de archivos"
atenuar objrc1 como oledbcommand= nuevo oledbcommand(sql10,obj4)
obj4.abierto()
atenuar objrsx como oledbdatareader = objrc1.executereader()
atenuar fn11 siempre que =0
mientras objrsx.read()
fn11=objrsx("nombre de archivo")
terminar mientras
atenuar fn1 como cadena
fn1=cstr(fn11+1)
*** Lo anterior crea un nombre de archivo principal único para que los usuarios carguen archivos dim objc1str as string="provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("filelist.mdb")
*** Las dos líneas anteriores son la misma declaración en el código fuente dim objc1 como oledbconnection = new oledbconnection(objc1str)
dim sql3 como cadena="insertar en archivos (nombre de archivo, fsize, xh, filescript, upday)
valores("+cstr(fn1)+","+cstr(fileup.postedfile.contentlength)+",'"
+xh1+"','"+fileup.postedfile.filename+"','"+cstr(now())+"')"
*** Las tres líneas anteriores son la misma declaración objc1.open() en el código fuente
atenuar objrs1 como oledbcommand=nuevo oledbcommand(sql3,objc1)
tenue fn2 como cadena
fn2="d:/netspace/spacenet/myspace/"&cstr(fn1)&".zip"
*** Indique la ruta absoluta y el nombre completo del archivo subido por el usuario fsize.text=cstr(fileup.postedfile. longitud del contenido)
ftype.text=fileup.postedfile.contenttype
fname.text=fileup.postedfile.nombre de archivo
nombre de usuario.texto=usuario1.valor
fileup.postedfile.saveas(fn2)
objrs1.ExecuteNonQuery()
objrs.cerrar
dim sql5 as string="actualizar lista de usuarios set nowspace="+cstr(nows+fileup.postedfile.contentlength)+
",lastaccessday='"+cstr(now())+"' donde xh='"+xh1+"'"
*** Las dos líneas anteriores son la misma declaración en el código fuente
dim objrnc que oledbcommand= new oledbcommand(sql5 ,objconn)
objrnc.executenonquery()
respace.text=cstr(maxs-nows-fileup.postedfile.contentlength)&"bytes".
nowspace.text=cstr(nows+fileup.postedfile.contentlength)&"bytes".
*** Lo anterior se utiliza para cargar, y el espacio total utilizado y el espacio restante total del usuario se calculan al final si
terminar si
sub final
</script>
<cuerpo>
<formulario enctype="multipart/form-data" runat="servidor">
<tabla>
<tr><td>Cuenta:</td><td><input id="usuario1" runat="servidor"></td></tr>
<tr><td>Contraseña:</td><td><tipo de entrada="contraseña" id="contraseña1" runat="servidor"></td></tr>
<tr><td>Archivo:</td><td><tipo de entrada="archivo" id="fileup" runat="servidor"></td></tr>
<tr><td></td><td><asp:button id="cargar" onclick="cargar archivo" text="Cargar"
runat="servidor"/></td></tr>
</tabla>
</formulario><hr>
<div id="fileinfo" visible="false" runat="servidor">
Nombre del archivo original:<asp:label id="fname" runat="server"/>><br>
Tamaño de bytes:<asp:label id="fsize" runat="server"/>><br>
Tipo de archivo:<asp:label id="ftype" runat="server"/>><br>
Cuenta de usuario:<asp:label id="nombre de usuario" runat="servidor"/>><br>
Espacio restante:<asp:label id="respace" runat="server"/>><br>
Espacio utilizado:<asp:label id="nowspace" runat="server"/>><br>
Estado de carga:<asp:label id="errors" runat="server"/>
</div>
*** Lo anterior le dice al usuario la información relevante antes y después de cargar el archivo en el navegador.
</cuerpo>
</html>
Conclusión
El método descrito en este artículo se basa en tecnología sin componentes y tiene en cuenta más aspectos de seguridad de archivos y privacidad personal. Es más adecuado para su uso en plataformas Windows Server 2003 y IIS6.0. simple y seguro, y se puede ampliar ligeramente, como agregar el número de usuario y el número de grupo en la lista de usuarios y agregar el número de grupo en los archivos, puede configurar los permisos de los archivos, lo que puede facilitar el envío, la verificación y el intercambio de archivos en la red. . Junto con una matriz de discos, la seguridad de los datos mejorará cualitativamente.