Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

ich habe eine Datenbank mit z.B. der Tabelle "User".

Dort sind z.B. Nachname und Kennwort hinterlegt.

Kann mir jemand helfen, wie ich es am besten anstelle, dass nur die User, die in der Datenbank eingetragen sind die Website ansehen dürfen?

Ich programmiere mit HTML, ASP (VBScript), MS-SQL.

.htaccess funktioniert laut selfhtml nicht auf einem IIS.

Wäre lieb wenn ihr mir mit eurem Wissen helfen könntet!

mfg

Patrick

Geschrieben

Also vom Ansatz her würde ich das so machen

Benutzernamen und Kennwort vom User eingeben lassen

Gibts den Namen in der DB

Wenn Ja

stimmt das eingegeben Passwort mit dem gespeicherten überein

Wenn Ja

Dann weiterleiten auf die anzuzeigenden Daten

Ansonsten Fehlermeldung ausgeben

Geschrieben
Warum so umständlich?

Mir schwebten halt mehrere Fehlermeldungen vor.

Zum Beispiel :

User nicht gefunden

Passwort ungültig.

Natürlich kann man auch beides mit einer Abfrage erschlagen

Geschrieben
Mir schwebten halt mehrere Fehlermeldungen vor.

Zum Beispiel :

User nicht gefunden

Passwort ungültig.

Um einem möglichen Einbrecher auch noch Tipps zu geben welcher User gültig ist und welcher nicht? Nee nee ;) das macht man in der Regel gerade nicht.

One Errormessage fits all.

Geschrieben

An sowas habe ich auch gedacht, wäre ja schön wenn es dabei bleiben könnte.

Ich denke, dass das so auch ohne Probleme funktionieren würde.

ABER:

Angenommen ein Benutzer loggt sich so wie beschrieben ein:

Dann bekommt er Zugriff auf die Seite und kann sich alles anschauen.

Nun klickt er sagen wir mal einen unterlink an, wo dann z.B. in der URL steht:

"http://forum/projekte/dumdidum/mitglieder.asp"

Das würde doch bedeuten, dass er beim nächsten aufruf der Seite sofort diesen Link eingeben kann und somit die Passwort Abfrage umgehen kann.

Somit fällt diese Lösung also weg, oder täusche ich mich?

Geschrieben

Du müsstest natürlich in jede Seite eine entsprechende Abfrage einbauen ob eine bestimmte Session-Variable (<-- gibt's das überhaupt in ASP) gesetzt ist, und ansonsten zum Login schicken. In PHP würde das ansatzweise z. B. so aussehen:


if (!$_SESSION['user']['logged_in']) {
die(header('location: login.php'));
}
[/PHP]

Grüße, Tobias

Geschrieben

Also ich hab bislang herausgefunden, dass man sich mit Session.SessionID die aktuelle SessionID anzeigen lassen kann. Jedoch ändert sich diese bei mir jedesmal, sobald ich die Seite aktualisiere?

Ich frag mich gerade ob es möglich wäre, eine Passwort Abfrage zu machen, wo halt abgeglichen wird obs den Benutzer gibt (blabla...) aber dann noch die Aktuelle Session ID irgendwie zu speichern und mit auf die nächste Seite zu übergeben, und halt jedesmal weiter zu übergeben. Und sobald diese sich ändert, ist dann die Seite nicht mehr erreichbar.

Hmm... stellt sich dann nur die Frage, wo / wie speichere ich die ID?

Und ändert sich diese dann nicht bei jedem anklicken eines neuen Links?

Geschrieben

IIS unterstützt kein .htaccess, wohl aber einen mechanismus wie basic HTTP authentication. die kombination dieser standardisierten methode mit einem datenbank-backend (das kann sowohl mit dem erwähnten SQL server, aber auch mit simplen plaintext-dateien - oder ganz exotisch - excel :D erfolgen) wird den gewünschten sicherheitserfordernissen genügen.

sowohl der ansatz als auch die implemntierung sind z.b. in den folgenden artikeln sehr gut beschrieben:

ASP-basierte Basic Authentication

Formular-basierte Basic Authentication

auch gut beschrieben sind sessions mittels ASP:

Session Variablen

s'Amstel

Geschrieben

also du kannst in der Page.Session[index oder String] beliebege werte in der Session ablegen, zu beachten ist jedoch bei links, redirect etc relative pfade zu verwenden damit die Session-/id nicht verlohren geht. Ansonnsten musst du die SessionID in die URL mit einbauen.

Ich weiß nicht genau ob du in der Web.config die Session "einschalten" musst.

Geschrieben

Amstelchen, du hast mir mal wieder sehr geholfen!

Dein 3. Link war mir sehr sehr hilfreich! (Hatte diese Seite zwar selber schon gefunden, allerdings nicht DIESESN Artikel).

Den anderen Danke ich natürlich auch!! =)

Hiermit beende ich nun meine Session und wünsche euch ne schöne Woche :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...