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

Antwort per Email an