Zum Inhalt springen

Zugriff auf Seite sperren?


Empfohlene Beiträge

Sehr geehrte Damen und Herren :D

Folgendes Szenario:

Übers Internet soll auf eine Datenbank zugegriffen werden. Dieser Zugriff läuft auch schon tipp-topp (mit Hilfe von ASP). Natürlich soll nicht jeder auf die Daten zugreifen können, deshalb gibts eine kleine Passwortabfrage (ganz simpel mit einem User).

Diese leitet dann mit einem "Response.Redirect" zu der eigentlichen Seite weiter

Damit ist das Problem aber noch nicht gelöst, da ich ja weiterhin DIREKT die ASP-Seite mit dem DB-Zugriff aufrufen kann. Ich hab mir jetzt 2 Lösungen überlegt, aber leider scheitert es mangels Erfahrung/Können(?) an der Umsetzung

a) Die Passwortabfrage wird in die DB-Zugriffsseite integriert, muss dann natürlich bei jedem Start ausgeführt werden. Ich hab da mal was über eine SUB START () gelesen, die automatisch beim Starten der Seite ausgeführt wird... Problem bei der Lösung: Was geschieht bei einem Refresh?! Muss dann wieder das Passwort eingegeben werden? Das wäre ja sehr lästig..

B) Die DB-Zugriffsseite wird über den Webserver (IIS unter W2K-Server) gesperrt. Da hab ich auch schonmal eingestellt, dass man bei dem Aufruf der Seite auf die Passwortabfrage umgeleitet wird, aber dadurch gibts nur ne Endlosschleife, weil man ja auch nach der erfolgreichen Passworteingabe nicht auf die Seite kommt.

So, jetzt seid Ihr dran ;) hat jemand eine Idee???

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke htacces ist da nicht so angebracht den die asp seite kreift ja auch drauf zu deswegen könnte es schwierigkeiten geben.

Eine Andere Lösung wäre je nach datenbank ein passwort auf die datenbank selbst zu legen. Das musst du dann nur beim erstellen des db objekts bzw. beim connect mitgeben, so muss der User kein PW Abfrage über sich ergehen lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von U[[ °LoneWolf°

Ich denke htacces ist da nicht so angebracht den die asp seite kreift ja auch drauf zu deswegen könnte es schwierigkeiten geben.

Eine Andere Lösung wäre je nach datenbank ein passwort auf die datenbank selbst zu legen. Das musst du dann nur beim erstellen des db objekts bzw. beim connect mitgeben, so muss der User kein PW Abfrage über sich ergehen lassen.

Das wäre natürlich machbar (DB ist Oracle). Nur wie gebe ich bei der ASP/HTML Seite an, dass beim connect das Passwort abgefragt werden soll?!

Bisher sieht die Zeile mit connect so aus:

call db_connect("DSN=SID.world", "user", "passwort")

Ich dachte mir halt, es wäre einfacher alles so zu lassen und einfach ein HTML-Skript "davor zu schalten".

Link zu diesem Kommentar
Auf anderen Seiten teilen

ups ok da war wohl ein misverständnis meiner seits ich dachte das passwort algemein um die datenbankl zu schützen. Also willst du eine User verwaltung einbauen? Wenn ja kann ich dir heute abend mal was zuschiken hab was ähnliches zuhause für nen internen bereich (Wenn du willst). Der ist zwar noch nicht fertig aber die Userverwaltung bzw. der schutz funtzt (Sogar mit rechte vergabe :) ).

Das ist folgendermassen aufgebaut

Geht ein User ohne sich forher anzumelden auf eine Unterseite wird er Automatisch auf die Login seite Gelinkt. Ist er Bereit Angemeldet Bekommt er die Unterseite Angezeigt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von forTeesSake

setz doch nach einem erfolgreichen login also wenn der user die richtigen daten eingegeben hat eine session.

sagen wird mal

Session("loggInSuccess") = 1;

nun kannst du auf all deinen anderen seiten abfragen ob die session 1 ist und wenn nicht zum login redirecten

so kommt keiner auf die anderen seiten

Ja, das ist ein guter Vorschlag. Mein Problem ist jetzt:

a) wie wird die Variable "Session" an die nächste Haupt-Seite übergeben ?

B) Wie frage ich die Variable direkt beim Seitenaufruf ab!? Wie führe ich überhaupt eine Aktion direkt beim Start aus???

Link zu diesem Kommentar
Auf anderen Seiten teilen

die "variable session" gibt es nicht

lies dir mal artikel zum thema sessions() durch

eine session ist schon eine variable. sie bleibt aber so lange aktiv und gesetzt wie der benutzer sein browserfenster offen hat oder das TIMEOUT (am server gesetzt) abläuft.

du machst das am besten so:

Auf der seite die die logindaten empfängt:

<%

if request("username") = "testUser" AND request("password") = "testPass" then

Session("loggedIn") = true

response.redirect("mainsite.asp")

end if

%>

jetzt kannst du auf jeder seite den wert der sessionvariable loggedIn überprüfen:

<%

if Session("loggedIn") = true then

'mach weiter

else

response.redirect("login.asp")

end if

%>

alles ok?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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