Die Gewährleistung der Website-Sicherheit umfasst die folgenden Aspekte:
Identitätsauthentifizierung : Der Prozess der Bestätigung der Identität und Authentizität eines Benutzers. In ASP.NET stehen vier Arten der Authentifizierung zur Verfügung:
Windows-Zertifizierung
Formularauthentifizierung
Authentifizierung
Benutzerdefinierte Authentifizierung
Autorisierung : Der Prozess der Definition und Zuweisung spezifischer Rollen an bestimmte Benutzer.
Vertraulichkeit : Beinhaltet Verschlüsselung für Client-Browser und Webserver.
Integrität : Bewahren Sie die Datenintegrität. Implementieren Sie beispielsweise digitale Signaturen.
Im Allgemeinen umfasst die formularbasierte Authentifizierung die Bearbeitung einer Netzwerkkonfigurationsdatei und einer Registrierungsseite mit einem Bestätigungscode. Die Netzwerkkonfigurationsdatei kann mit dem folgenden Code geschrieben werden:
<configuration><system.web> <authentication mode="Forms"> <forms loginUrl ="login.aspx"/> </authentication> <authorization> <deny users="?"/> </authorization></system .web>......</configuration>
Die im obigen Codeausschnitt erwähnte Seite login.aspx enthält möglicherweise den folgenden Code, einschließlich des Benutzernamens und des Kennworts für die Authentifizierung, der in der Datei nur schwer zu kodieren ist.
protected boolauthenticate(String uname, String pass){ if(uname == "Tom") { if(pass == "tom123") return true } if(uname == "Dick") { if(pass == " dick123") return true; } if(uname == "Harry") { if(pass == "har123") return true; } return false;}public void OnLogin(Object src, EventArgs e){ if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked); } else { Response.Write("Ungültiger Benutzername oder Passwort" }}
Beachten Sie, dass die FormsAuthentication-Klasse für den Authentifizierungsprozess verwendet wird.
Visual Studio erleichtert jedoch die nahtlose Implementierung der Benutzererstellung, Authentifizierung und Autorisierung über das Website-Verwaltungstool, ohne dass Code geschrieben werden muss. Dieses Tool ermöglicht die Erstellung von Benutzern und Rollen.
Darüber hinaus verfügt ASP.NET über eine vorgefertigte Login-Kontrollreihe, die die gesamte Arbeit für Sie steuern und ausführen kann.
Um die formularbasierte Authentifizierung einzurichten, müssen Sie Folgendes tun:
Benutzerdatenbank zur Unterstützung des Authentifizierungsprozesses
Eine Website, die eine Datenbank verwendet
Benutzerkonto
Rolle
Einschränkungen für Benutzeraktivitäten und Gruppenaktivitäten
Eine Benutzerseite, die den Benutzerstatus und andere Informationen anzeigt
Eine Anmeldeschnittstelle, die es Benutzern ermöglicht, sich anzumelden, Passwörter abzurufen und Passwörter zu ändern.
Um einen Benutzer anzulegen, müssen folgende Schritte durchgeführt werden:
Schritt 1: Wählen Sie Website->ASP.NET konfigurieren, um das Webanwendungsverwaltungstool zu öffnen.
Schritt 2: Klicken Sie auf Sicherheitsoptionen.
Schritt 3: Wählen Sie die Option „Formularbasierte Authentifizierung“, um den Authentifizierungstyp auf „Aus dem Internet“ festzulegen.
Schritt 4: Klicken Sie auf „Benutzer erstellen“. Wenn Sie bereits eine Rolle erstellt haben, können Sie in diesem Schritt die Rolle dem Benutzer zuweisen.
Schritt 5: Erstellen Sie eine Website und fügen Sie die folgenden Seiten hinzu:
Willkommensseite
Anmeldeseite
Registrierungsseite
Seite zur Passwortwiederherstellung
Seite „Passwort ändern“.
Schritt 6: Legen Sie im Anmeldebereich der Begrüßungsseite eine Anmeldestatussteuerung fest. Enthält zwei Standardfelder: LoggedIn und LoggedOut.
LoggedIn bietet die Möglichkeit, angemeldete Benutzer anzuzeigen, und LoggedOut bietet die Möglichkeit, abgemeldete Benutzer anzuzeigen. Sie können die Eigenschaften des Anmelde- und Abmeldetexts im Eigenschaftenfenster ändern.
Schritt 7: Richten Sie ein LoginView-Steuerelement unterhalb des LoginStatus-Steuerelements ein. Sie können andere Texte oder andere Steuerelemente (z. B. Hyperlinks, Schaltflächen usw.) festlegen, die anzeigen, ob sich der Benutzer angemeldet hat.
Dieses Steuerelement verfügt über zwei Standardfelder: das Feld „Anonym“ und das Feld „Angemeldet“. Wählen Sie jede Ansicht aus und schreiben Sie Text, der dem Benutzer angezeigt wird, wenn das Kriterienfeld ausgewählt wird. Der Text sollte im rot markierten Bereich im Bild unten platziert werden.
Schritt 8: Der Entwickler erstellt Anwendungsbenutzer. Möglicherweise möchten Sie Besuchern erlauben, auch ein Benutzerkonto zu erstellen. Um dies zu erreichen, können Sie unter dem LoginView-Steuerelement einen Link hinzufügen, der Sie zur Registrierungsseite führt.
Schritt 9: Richten Sie auf der Registrierungsseite ein CreateUserWizard-Steuerelement ein. Legen Sie die ContinueDestinationPageUrl-Eigenschaft dieses Steuerelements fest, um sicherzustellen, dass Sie zur Begrüßungsseite wechseln können.
Schritt 10: Erstellen Sie eine Anmeldeseite. Richten Sie auf dieser Seite ein Login-Steuerelement ein. Das LoginStatus-Steuerelement stellt automatisch eine Verbindung zur Anmeldeseite her. Sie können diese Standardeinstellung ändern, indem Sie die folgenden Änderungen in der Netzwerkkonfigurationsdatei vornehmen.
Wenn Sie beispielsweise Ihre Anmeldeseite „signup.aspx“ nennen, könnten Sie der Netzwerkkonfigurationsdatei die folgenden Codezeilen hinzufügen.
<configuration> <system.web> <authentication mode="Forms"> <forms loginUrl ="signup.aspx" defaultUrl = „Welcome.aspx“ /> </authentication> </system.web></configuration>
Schritt 11: Benutzer vergessen oft ihre Passwörter. Das PasswordRecovery-Steuerelement hilft Benutzern, sich wieder bei diesem Konto anzumelden. Wählen Sie die Anmeldesteuerung aus. Öffnen Sie die kleine Registerkarte und wählen Sie „In Vorlage konvertieren“.
Durch Anpassen der Benutzeroberfläche dieses Steuerelements platzieren Sie ein Hyperlink-Steuerelement unter der Anmeldeschaltfläche. Dieses Steuerelement sollte in der Lage sein, einen Link zur Seite zum Abrufen des Kennworts herzustellen.
Schritt 12: Legen Sie auf der Seite zur Passwortwiederherstellung ein PasswordRecovery-Steuerelement fest. Diese Steuerung erfordert, dass der Mailserver das Passwort an den Benutzer sendet.
Schritt 13: Legen Sie im Feld „LoggedIn“ des LoginView-Steuerelements auf der Begrüßungsseite einen Link zur Seite zum Ändern des Kennworts fest.
Schritt 14: Legen Sie auf der Seite „Passwort ändern“ ein ChangePassword-Steuerelement fest. Dieses Steuerelement verfügt über zwei Ansichten:
Führen Sie nun die Anwendung aus und beobachten Sie die verschiedenen Sicherheitsvorgänge. Sie können zum Webanwendungsverwaltungstool zurückkehren und auf die Sicherheitsoption klicken, um eine Rolle zu erstellen. Klicken Sie auf „Rollen erstellen“, um einige Rollen für diese Anwendung zu erstellen.
Klicken Sie auf „Benutzer verwalten“, um Benutzern Rollen zuzuweisen.
Secure Sockets Layer (SSL) ist ein Protokoll zur Gewährleistung sicherer Verbindungen. Durch die Verwendung von SSL verschlüsselt der Browser alle an den Server gesendeten Daten und entschlüsselt alle Daten vom Server. Gleichzeitig verschlüsselt und entschlüsselt der Server auch alle Daten im Liangzi Browser.
Die URL für eine sichere Verbindung verwendet das HTTPS-Protokoll anstelle des HTTP-Protokolls. Bei Browsern, die sichere Verbindungen verwenden, wird außerdem ein kleines Schloss angezeigt. Wenn ein Browser aktiv über SSL mit einem Server kommuniziert, sendet der Server ein Sicherheitszertifikat, um den Server selbst zu authentifizieren.
Um SSL zu verwenden, müssen Sie ein digitales Sicherheitszertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA) erwerben und das Zertifikat auf dem Netzwerkserver installieren. Im Folgenden sind einige vertrauenswürdige Zertifizierungsorganisationen mit gutem Ruf aufgeführt:
www.verisign.com
www.geotrust.com
www.thawte.com
SSL ist in allen gängigen Browsern und Servern integriert. Um SSL zu aktivieren, müssen Sie ein digitales Zertifikat installieren. Die Stärke verschiedener digitaler Zertifikate variiert je nach Länge des während des Verschlüsselungsprozesses generierten Schlüssels. Je länger der Schlüssel ist, desto sicherer ist das Zertifikat und desto sicherer ist die Verbindung.
Stärke | beschreiben |
---|---|
40 Bit | Unterstützt die meisten Browser, ist aber leicht zu hacken. |
56 Bit | Robuster als 40-Bit. |
128 Bit | Es ist schwer zu knacken, wird aber nicht von allen Browsern unterstützt. |