Vorwort
⑴ An öffentlichen Orten wie elektronischen Lesesälen, Computerräumen und Internetcafés kommt es aufgrund häufiger Nutzung und verzögerter Wartung häufig vor, dass Ausgabesysteme wie Diskettenlaufwerke beschädigt werden. Die Ausgabe wird häufig entdeckt, wenn eine Ausgabe erforderlich ist Die verarbeiteten Daten sind sehr frustrierend, wenn die Geräte nicht funktionieren, und um Kosten zu sparen, verfügen viele Computerräume nicht über alle erforderlichen Ausgabegeräte an den an das Netzwerk angeschlossenen Computern.
⑵ Da Computer immer beliebter werden, werden die Menschen immer abhängiger von ihnen. Viele Büroaufgaben sind untrennbar mit Computern verbunden. Mit anderen Worten: Auf den Computern der Büroangestellten wurden viele wichtige Büro- und Privatdaten gespeichert. In den meisten Fällen sind diese Daten einzigartig, was bedeutet, dass ihre Besitzer keine Kopien davon erstellen und sie auf verschiedenen Computern speichern. Ihre Sicherheit hängt vollständig von der Stabilität der Computer ihrer Besitzer ab.
⑶ Die Popularität des Internets hat die Entfernung zwischen Menschen verkürzt und die Kommunikation bequemer gemacht. Wir müssen jedoch jeden Tag an verschiedenen Orten wie zu Hause, im Büro und in Internetcafés auf das Internet zugreifen. Vielleicht können Sie diese Daten über ein mobiles Speichergerät wie einen USB-Stick oder eine mobile Festplatte mit sich führen, aber es ist nicht sehr praktisch, ein weiteres solches Gerät, insbesondere eine mobile Festplatte, an verschiedenen Orten und an verschiedenen Orten mitzuführen , und verschiedene Betriebssysteme sind nicht für Sie geeignet. Die Unterstützung von USB-Sticks oder mobilen Festplatten ist nicht gleich und auch die Computerkenntnisse der Benutzer sind unterschiedlich.
...
Aufgrund dieser Tatsachen ist die Netzwerkspeicherung zu einer Notwendigkeit geworden.
Derzeit gibt es viele Möglichkeiten, Netzwerkspeicher zu implementieren, z. B. E-Mail, FTP, Netzwerkorte, HTTP usw. Unter diesen verfügt FTP über die leistungsstärksten Funktionen, ist jedoch etwas kompliziert zu verwenden. Viele Einstellungen reichen aus, um viele Benutzer abzuschrecken. Insbesondere wenn die Anzahl der Benutzer unvorhersehbar ist, sind die Einstellungen für Benutzer mit besonderen Bedürfnissen umständlicher ; E-Mail ist jedem bekannt, aber innerhalb des lokalen Netzwerks ist es keine gute Möglichkeit, auf diese Weise Finanz-, Arbeits- und andere Dokumente und Informationen auszutauschen Auswirkungen auf den E-Mail-Speicherplatz; Netzwerknachbarn können durch Angabe von Ordnern und platzierten Dateien auf diesem Computer freigegeben werden. Allerdings ist der Umfang dieser Methode recht begrenzt Andere, insbesondere Benutzer im Internet, können problemlos darauf zugreifen. Die Verwendung ist schwierig und wie bei E-Mails nicht intuitiv. Oft muss man viele Computerlisten durchsuchen, um die gewünschte Ressource zu finden. Die oben genannten Netzwerkspeichermethoden haben auch einen gemeinsamen Nachteil: Administratoren haben keinen klaren Überblick über die Nutzung der im Netzwerkspeicher gespeicherten Dateien und können nur anhand der Speicherzeit der Dateien entscheiden, ob sie bereinigt werden sollen .
In diesem Artikel wird eine relativ einfache Netzwerkspeichermethode vorgestellt, die über HTTP implementiert wird. Diese Methode wird auf der WINDOWS-Plattform über IIS und ASP/ASP.NET implementiert. Sie ist nicht nur einfach zu verwenden und kann jede Art von Datei hochladen, sondern kann auch den vom Benutzer verwendeten Speicherplatz begrenzen 20 Byte und bis zu Hunderte Megabyte können von Administratoren verwaltet werden. Darüber hinaus ist die Sicherheit der Dateien gewährleistet. Nur Dateieigentümer und autorisierte Personen können Dateien wiederherstellen. Wenn Sie die Datenstruktur im zweiten Hauptpunkt und den Upload-Quellcode im dritten Hauptpunkt dieses Artikels verstehen, können Sie selbst einen Netzwerkspeicher erstellen. Sie müssen sich nicht auf den auf dem Markt angebotenen kostenlosen Netzwerkspeicher verlassen, um vertrauliche Daten zu speichern Ihre Sicherheit liegt fest in Ihren eigenen Händen.
Übersicht und Grundfunktionen
Installieren Sie einen Server als Netzwerkspeicher-Host. Das Betriebssystem verwendet die Windows-Plattform und ist mit IIS5.0 ausgestattet. Richten Sie den WEB-Dienst ein und erstellen Sie eine virtuelle Website unter der Hauptwebsite, die auf den Netzwerkspeicher verweist : d:netspacespacenetmyspace. Alle ASP- und asp.net-Quellcodes werden unter der Hauptwebsite abgelegt (z. B. c:inetpubwwwroot), und d:netspacespacenetmyspace platziert die von Benutzern hochgeladenen Dateien (Änderungen an der virtuellen Website sollten ebenfalls vorgenommen werden). den Quellcode entsprechend anpassen).
1. Die verwendete Basisdatenbank und -struktur:
⑴ ftpsapce.mdb: enthält die Benutzerliste der Tabelle und die Grundstruktur der Tabelle:
ID: Sequenznummer, automatisch generiert;
Xh: Benutzerkonto, Registrierung und Verifizierungsgenerierung;
Xm: Benutzername, Registrierung und Verifizierungsgenerierung;
Kl: Benutzerpasswort, Registrierung und Verifizierungsgenerierung;
Maxspace: Die maximale Grenze des Benutzerspeichers wird für die Registrierung verwendet. Der Administrator kann ihn über die Verwaltung zurücksetzen.
Nowspace: Der derzeit vom Benutzer belegte Speicherplatz.
Lastaccessday: die letzte Zugriffszeit des Benutzers, auf die sich Administratoren bei der Verwaltung des Speicherplatzes beziehen können;
Fromday: Benutzerregistrierungszeit;
Checkx: Benutzerverifizierungsflag.
⑵ Filelist.mdb: enthält die Tabellendateien und die Grundstruktur der Tabelle:
ID: Sequenznummer, automatisch generiert;
Dateiname: Dateiname, vom Upload-System generiert;
Fsize: Dateigrößenwert;
Xh: Benutzerkonto;
Upday: Upload-Zeit;
Filescript: Dateibeschreibung, also der Pfad und der ursprüngliche Dateiname der Datei, wenn der Benutzer sie hochlädt, als Referenz beim Laden.
2. Grundfunktionen
⑴ Der Benutzer meldet sich auf der Hauptwebsite an und ruft die Hauptseite der Website auf und gibt die grundlegenden Informationen des Benutzers für die Benutzerregistrierung an.
⑵ Der Administrator überprüft die Registrierungsinformationen des Benutzers und legt den maximalen Nutzungsbereich des Benutzers fest.
⑶ Benutzer, die die Prüfung bestehen, laden Dateien auf den Netzwerkspeicher hoch. Das System ermittelt die Rechtmäßigkeit des Benutzers und der Datei und registriert die vom Benutzer hochgeladenen Dateien und Benutzerinformationen in der Datenbank.
⑷ Zugelassene Benutzer können die von ihnen über die Download-Funktion hochgeladenen Dateien neu laden oder löschen.
⑸ Der Administrator verwaltet den Netzwerkraum basierend auf der Benutzerdatenbank und der Dateidatenbank.
⑹ Das erweiterte System ermöglicht autorisierten Benutzern das Herunterladen von Dateien, die von autorisierten Benutzern hochgeladen wurden.
Der grundlegende Quellcode des Upload-Moduls
ist durch den Platz begrenzt. Dieser Artikel enthält nur den grundlegenden Quellcode des Upload-Moduls. Wenn Sie mehr Quellcode benötigen, können Sie diesen per E-Mail anfordern. Im Quellcode wurden vom Autor Kommentare hinzugefügt, um den Lesern die Arbeit zu erleichtern. (Das Folgende ist ein Auszug aus upfile.aspx)
<%@ Page Language="VB" Debug="true" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.oledb" %>
<html>
<script language="vbscript" runat="server">
Sub-Uploaddatei (Absender als Objekt, e als Ereignisargs)
wenn fileup.postedfile.contentlength<20 dann
Fehler.text="Sie müssen eine so kleine Datei hochladen, merken Sie sie sich einfach."
fileinfo.visible=false
Sub verlassen
anders
errors.text="Verifizierung OK"
fileinfo.visible=true
end if
*** Oben wird die Größe der hochgeladenen Datei überprüft
respace.text="0"
nowspace.text="0"
*** respace bezieht sich auf den verbleibenden Speicherplatz, nowspace bezieht sich auf den verwendeten Speicherplatz
dim xh1 als string =user1.value
dim kl1 als string =pass1.value
*** xh1 bezieht sich auf die Kontonummer, kl1 bezieht sich auf das Passwort
dim objconnstr als string="provider=microsoft.jet.oledb.4.0;data source="
& server.mappath("ftpspace.mdb")
*** Die beiden obigen Zeilen sollten die gleiche Anweisung im Quellcode sein.
dim objconn as oledbconnection = new oledbconnection(objconnstr)
dim sql1 as string="select * from userlist where xh='"+xh1+"' and kl='"+kl1+"'"
dim objrscc als oledbcommand= new oledbcommand(sql1,objconn)
objconn.open()
dim objrs als oledbdatareader = objrscc.executereader()
dimix als Ganzzahl=0
Maximal solange dimmen
jetzt so lange dimmen
während ix=0
wenn objrs.read() dann
wenn objrs.item("xh")=xh1 dann
wenn objrs.item("kl")=kl1 dann
wenn objrs.item("checkx")=1 dann
ix=ix+1
maxs=objrs.item("maxspace")
nows=objrs.item("nowspace")
Ende wenn
Ende wenn
Ende wenn
anders
ix=-1
Ende wenn
end while
*** Das Obige bestimmt, ob das Konto und das Passwort zulässig sind,
wenn ix<=0 dann
errors.text="Das Kontokennwort ist falsch! Oder der Benutzer wurde nicht authentifiziert. Bitte warten Sie, bis sich der Administrator authentifiziert hat!"
sonst
wenn fileup.postedfile.contentlength>maxs-nows dann
wenn fileup.postedfile.contentlength>=maxs dann
errors.text="Die Dateilänge ist größer als der zugewiesene Speicherplatz und kann nicht hochgeladen werden!"
anders
errors.text="Nicht genügend freier Speicherplatz, bitte alte Dateien löschen!"
end if
*** Das Obige bestimmt die Verfügbarkeit des Benutzerraums
anders
dim obj4str as string="provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("filelist.mdb")
*** Die beiden obigen Zeilen sind die gleiche Anweisung im Quellcode dim obj4 as oledbconnection = new oledbconnection(obj4str)
dim sql10 as string="select * from files"
dim objrc1 als oledbcommand= new oledbcommand(sql10,obj4)
obj4.open()
dim objrsx als oledbdatareader = objrc1.executereader()
dim fn11 solange =0
während objrsx.read()
fn11=objrsx("Dateiname")
Ende während
dim fn1 als String
fn1=cstr(fn11+1)
*** Dadurch wird ein eindeutiger Hauptdateiname für Benutzer zum Hochladen von Dateien erstellt. dim objc1str as string="provider=microsoft.jet.oledb.4.0;
data source=" & server.mappath("filelist.mdb")
*** Die beiden obigen Zeilen sind die gleiche Anweisung im Quellcode dim objc1 as oledbconnection = new oledbconnection(objc1str)
dim sql3 as string="insert into files(filename,fsize, xh,filescript,upday)
Werte("+cstr(fn1)+","+cstr(fileup.postedfile.contentlength)+",'"
+xh1+"','"+fileup.postedfile.filename+"','"+cstr(now())+"')"
*** Die obigen drei Zeilen sind die gleiche Anweisung objc1.open() im Quellcode
dim objrs1 als oledbcommand=new oledbcommand(sql3,objc1)
dim fn2 als String
fn2="d:/netspace/spacenet/myspace/"&cstr(fn1)&".zip"
*** Geben Sie den absoluten Pfad und den vollständigen Dateinamen der vom Benutzer hochgeladenen Datei an fsize.text=cstr(fileup.postedfile. Inhaltslänge)
ftype.text=fileup.postedfile.contenttype
fname.text=fileup.postedfile.filename
Benutzername.text=Benutzer1.Wert
fileup.postedfile.saveas(fn2)
objrs1.ExecuteNonQuery()
objrs.close
dim sql5 as string="update userlist set nowspace="+cstr(nows+fileup.postedfile.contentlength)+
",lastaccessday='"+cstr(now())+"' where xh='"+xh1+"'"
*** Die beiden obigen Zeilen sind die gleiche Anweisung im Quellcode
dim objrnc wie oledbcommand= new oledbcommand(sql5 ,objconn)
objrnc.executenonquery()
respace.text=cstr(maxs-nows-fileup.postedfile.contentlength)&"bytes."
nowspace.text=cstr(nows+fileup.postedfile.contentlength)&"bytes"
*** Das Obige wird zum Hochladen verwendet und der vom Benutzer insgesamt verwendete Speicherplatz und der gesamte verbleibende Speicherplatz werden berechnet
Ende wenn
Ende sub
</script>
<Körper>
<form enctype="multipart/form-data" runat="server">
<Tabelle>
<tr><td>Konto:</td><td><input id="user1" runat="server"></td></tr>
<tr><td>Passwort:</td><td><input type="password" id="pass1" runat="server"></td></tr>
<tr><td>Datei:</td><td><input type="file" id="fileup" runat="server"></td></tr>
<tr><td></td><td><asp:button id="upload" onclick="uploadfile" text="Hochladen"
runat="server"/></td></tr>
</table>
</form><hr>
<div id="fileinfo" sichtbar="false" runat="server">
Ursprünglicher Dateiname:<asp:label id="fname" runat="server"/><br>
Bytegröße:<asp:label id="fsize" runat="server"/><br>
Dateityp:<asp:label id="ftype" runat="server"/><br>
Benutzerkonto:<asp:label id="username" runat="server"/><br>
Verbleibender Speicherplatz:<asp:label id="respace" runat="server"/><br>
Verwendeter Speicherplatz:<asp:label id="nowspace" runat="server"/><br>
Upload-Status:<asp:label id="errors" runat="server"/>
</div>
*** Das Obige teilt dem Benutzer die relevanten Informationen vor und nach dem Hochladen der Datei in den Browser mit.
</body>
</html>
Fazit:
Die in diesem Artikel beschriebene Methode basiert auf komponentenloser Technologie und berücksichtigt mehr Aspekte der Dateisicherheit und des Datenschutzes. Sie eignet sich am besten für die Verwendung auf Windows Server 2003- und IIS6.0-Plattformen Einfach und sicher und leicht erweiterbar, z. B. durch Hinzufügen der Benutzernummer und Gruppennummer in der Benutzerliste und durch Hinzufügen der Gruppennummer in Dateien können Sie die Dateiberechtigungen festlegen, was die Netzwerkübermittlung, Überprüfung und Freigabe von Dateien erleichtern kann . In Verbindung mit einem Disk-Array wird die Datensicherheit qualitativ verbessert.