Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi leute,

folgende Problematik:

Ich habe eine Website (.htm und .asp files), der User muss sich einloggen, das jeweilige Passwort ist verschlüsselt in einer SQL Server DB abgelegt und als Webserver läuft IIS.

Wie kann ich das Passwort abprüfen, ohne dass ich es im Quellcode hinterlegen muss und ohne dass man die Login-Seite überspringen kann?

Lösungen wie .htaccess fallen hier weg, weil ich IIS anstatt Apache laufen hab.

Wäre dankbar für ideen. Beim googeln finde ich nix.

mfg Dragon

Geschrieben
das jeweilige Passwort ist verschlüsselt in einer SQL Server DB abgelegt

[...]

Wie kann ich das Passwort abprüfen, ohne dass ich es im Quellcode hinterlegen muss

in dem du jenes welches aus der datenbank abgreifst.

ausgehend von einem formular ein HTTP POST auf ein script, welches über den benutzernamen als SELECT-kriterium das passwort des benutzers aus der DB holt, diesen string mit dem gePOSTeten vergleichen. wenn sie gleich sind, eine session beginnen, wenn nicht, den user gar nicht erst reinlassen.

zugriffsdaten und ähnliches zentrales in die global.asa, das ganze sauber implementieren, fertig.

alternativ liesse sich das vermutlich auch über die HTTP AUTH methode bewerkstelligen, indem dem client die entsprechenden HTTP-header geschickt werden und dieser sich dann authentifizieren muss.

beispiele sind dafür ja bereits en masse vorhanden, z.b. bei aspheute.

s'Amstel

Geschrieben

Ja danke schon mal für die Antwort, nur:

Mein Passwort steht in der Datenbank nur verschlüsselt und die User Eingabe ist unverschlüsselt. Wie kann ich das abgleichen?

Geschrieben

du kennst doch sicherlich den algorithmus, mit dem die ursprünglichen klartextpasswörter verschlüsselt wurden - z.b. MD5 oder crypt. wenn du jetzt das auf der .asp-seite vom benutzer eingegebene passwort genauso verschlüsselst/hashst, kannst du beide miteinander vergleichen.

s'Amstel

Geschrieben

Du kannst es verschlüsselt prüfen.

1. Möglichkeit:

mit asp (Pseudocode):

pwCrypted = cryptAlg(pwPlain)

2. Möglichkeit:

mit SQL:

SELECT ... HAVING password = CRYPT('pwPlain');

Geschrieben

Hi danke für die Antworten.

Nächstes Problem:

Ich hab hier nen Lösungsansatz, der in FrontPage (ja, ich weis...) in der vorschau problemlos dargestellt wird, wenn ich aber das web veröffentliche und über den Browser drauf zu greif funktioniert der aufruf von access2.htm nicht.

Quelltext:

<html>

<head>

<meta http-equiv="Content-Language" content="de">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<title>Kennwort eingeben</title>

<script language="javascript" src="md5.js"></script>

<script language="javascript">

<!--

function codeit() {

if(document.login.password.value != "")

{

var str = document.login.password.value;

document.login.response.value = MD5(str);

document.login.password.value = "";

}

if(document.login.response.value !="" && document.login.username.value !="")

{

document.login.action="login.asp";

}

}

// -->

</script>

</head>

<body>

<form method="POST" action="access2.htm" onSubmit="codeit();" name="login">

<p> </p>

<p>Benutzername:         <input type="text" name="username" size="20" value=""></p>

<p>Kennwort eingeben: <input type="password" name="password" size="20" value=""></p>

<input type="hidden" name="response" value="">

<p><input type="submit" value="Abschicken"></p>

</form>

<p> </p>

</body>

</html>

Vielleicht könnt ihr mir helfen.

Danke im Vorraus.

mfg dragon

Geschrieben

Soweit ich mich erinnere ist POST nicht verträglich mit .html (es denn es wird auf dem Server anders gemapt).

Ausserdem warum benutzt du Javascript, wenn du das Passwort sowieso Klartext überträgst? Mach es doch gleich serverseitig.

Geschrieben

Bei PHP würde ich

md5($passwort); 

nutzen können. Bei ASP kann ich dir da leider nicht weiterhelfen. Ich bin aber sicher, dass es da auch was für VB und/ oder C# gibt.

Für die sichere Übetragung gibt es ja auch noch SSL.

Geschrieben

wie Enrico T bereits gepostet hat: entweder das passwort im klartext in die DB schiessen und dort mit einer DB-internen crypt-funktion (achtung, heisst nicht wirklich so!) überprüfen, oder das ganze in deinem .asp machen, indem du dort das von user eingegebene "hashst" und dann den hash in die DB reinschiesst.

MD5 für ASP & VB z.b. hier: http://www.frez.co.uk/freecode.htm#md5

s'Amstel

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...