Hallo,
ich hab da ein Script (vom Buch Active Server Pages lernen und beherrschen
?) von wegen ASP-Zugriffsschutz. bei mir am PWS geht das ja noch aber am
Server im Web f�ngt das ganze voll zu Spinnen an!
Vorschl�ge, wie das doch noch funktioniert?
Hier der Code:
<%
' wurde der Benutzer bereits identifiziert?
if not session("ok")=true then
' nein, also nachfragen:
session("ok")=true
hinweis = "Zugriffsschutz. Bitte melden Sie sich an!"
' Zugriff verweigern
Response.Status = "401"
' Browser um Identifikation bitten:
Response.AddHeader "WWW-Authenticate", "BASIC realm=""" & hinweis &
""""
Response.End
else
' Ergebnis der Authentifikation erfragen:
resultat = Request.ServerVariables("HTTP_AUTHORIZATION")
' Ergebnis g�ltig?
if len(resultat)>6 then
' unbrauchbare Teile abschneiden:
resultat=mid(resultat,7)
do while right(resultat,1)="=" and len(resultat)>1
resultat=left(resultat, len(resultat)-1)
loop
end if
' Ergebnis ins Base64-Format konvertieren:
codiert = ConvertBase64(resultat)
' Benutzernamen und Kennwort auslesen:
credentials = Split(GetCredentials(codiert), ":")
benutzername = credentials(0)
kennwort = credentials(1)
If benutzername = "Halligalli" And kennwort = "aberJa" Then
Response.Redirect "prwart.asp?haupt=1&css=2"
Else
Response.Redirect "../index.asp?pg=nein&css=2"
End If
end if
function ConvertBase64(coded)
' wandelt ASCII-Zeichen um in Base64-Bitmaske:
for loopvar=1 to len(coded)
zeichen = mid(coded, loopvar, 1)
if zeichen>="A" and zeichen<="Z" then
wert = asc(zeichen)-asc("A")
elseif zeichen>="a" and zeichen<="z" then
wert = asc(zeichen)-asc("a")+26
elseif zeichen>="0" and zeichen<="9" then
wert = asc(zeichen)-asc("0")+52
elseif zeichen="+" then
wert = 126
elseif zeichen="/" then
wert = 127
end if
ConvertBase64 = ConvertBase64 + showBin(wert)
next
end function
function GetCredentials(base64)
' liest Zeichen aus Base64-Bitmaske aus:
for loopvar=1 to len(base64) step 8
zeichen = mid(base64, loopvar, 8)
GetCredentials = GetCredentials + chr(ReadBin(zeichen))
next
end function
function ShowBin(wert)
' wandelt einen Dezimalwert in einen 6-Bit-String um:
for loopvar=5 to 0 step-1
if (wert and 2^loopvar) then
ShowBin=ShowBin+"1"
else
ShowBin=ShowBin+"0"
end if
next
end function
function ReadBin(wert)
' liest Dezimalwert aus einem 8-Bit-String
ReadBin = 0
for loopvar=0 to 7
bit = mid(wert, loopvar+1, 1)
if bit="1" then
ReadBin = ReadBin + 2^(7-loopvar)
end if
next
end function
%>
Danke. Klaus
_______________________________________________
Coffeehouse mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/coffeehouse