/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvorfor virker denne login-procedure ikke ~
Fra : Anders Lau Mandsholm


Dato : 04-12-00 17:32

Ved kald af filen, der foretager login til admin-delen af min side på
www.9brevival.dk, udføres først dette script (placeret aller-øverst i
min fil):

<%
IP = Request.Servervariables("REMOTE_ADDR")
If IP = "Mit IPnr" Then
Session("Session-variabel") = "Et_eller_andet"
%>

<script language="JavaScript">
parent.menu.location.href='adminmenu.asp';
parent.display.location.href='admin.asp';
</script>

<%
Else
Session.Abandon
End if
%>

I både adminmenu.asp og admin.asp (samt i alle andre admin-filer) er i
toppen placeret dette script:

<%
Session.TimeOut = 10
If Session("Session-variabel") <> "Et_eller_andet" then
Session.Abandon
%>

<script language="JavaScript">
parent.menu.location.href='hovedmenu.asp';
parent.display.location.href='admin_login.asp';
</script>

<%
End if
%>

Det kører fint off-line, men on-line resulterer det i en uendelig
løkke/cirkulær reference, der stiller frem og tilbage mellem
admin.asp/adminmenu.asp samt admin_login.asp/hovedmenu.asp

Hvor skal sådanne scripts placeres, hvis det skal være helt korrekt?
Før eller indeni <head>-taggen?

Login-proceduren virkede endvidere korrekt både on- og off-line indtil
min udbyder lavede automatisk indsættelse af nedenstående script i
alle filer lige efter <title>-taggen (reklamebar):

<SCRIPT>
if (!top.iqbar) {
var str = document.location;
var encstr = escape(str);
document.write('<html><head>',
       '<frameset rows=\"32,*\" border=\"0\"
frameborder=\"no\">',
       '<frame
src=\"http://iqbar.infopaq.dk/iqbar.asp?site=www6.infopaq.dk\"
name=\"iqbar\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\"
noresize>',
       '<frame src=\"/.getpage.pl?url=',encstr,'\">',
       '</frameset>',
       '<noframes>',
       'src=\"/getpage.pl?url=',encstr,'\"',
       '</noframes>',
       '</head></html>'
       );
}
</SCRIPT>

Jeg synes dog at kunne undgå, at scriptet udføres ved at sætte var
iqbar = true.

Hvad kunne være nogle mulige forklaringer!?

På forhånd tak

/Lau
----
Anders Lau Mandsholm
ICQ# 67986301
www.mandsholm.dk
lau@mandsholm.ingenspam.dk

 
 
Lauritz Jensen (05-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 05-12-00 00:07

Jeg kan ikke helt gennemskuge hvad de gør, men http-response headeren
ser sådan ud:

--- klip - start ---
HTTP/1.1 200 OK
Date: Mon, 04 Dec 2000 23:01:48 GMT
Server: Apache/1.3.12 (Unix) mod_layout/2.8.2 mod_perl/1.22
AuthMySQL/2.20 DAV/1.0.0 PHP/4.0.1pl2
ModLayout: 2.8.2
Last-Modified: Mon, 04 Dec 2000 01:55:11 GMT
Cache-Control: no-cache
Connection: close
Content-Type: text/html
--- klip - slut ---

Det ser ud til, at man snakker med en proxy (ellers køre de asp på en
unix-server og jo det kan lade sig gøre men det er vist ikke
sandsynligt?). Men det mest slående er, at den ellers så velkendte
"Set-Cookie: ASPSESSIONIDQGQQGVBQ=..." mangler. Det betyder at man
aldrig får sit session id, og sessions virker derfor ikke mere.

--
Lauritz

Lauritz Jensen (05-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 05-12-00 00:23

Jeg var vist for hurtig på aftrækkeren, for de bruger jo rent faktisk
chilliasp (en asp version til unix). Det kan være det har slåen session
delen fra. Prøv denne her øverst i din asp-fil, for at prøve at slå det
til igen:
<%@ ENABLESESSIONSSTATE=True %>

--
Lauritz

Anders Lau Mandsholm (05-12-2000)
Kommentar
Fra : Anders Lau Mandsholm


Dato : 05-12-00 01:01

On Tue, 05 Dec 2000 00:22:36 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:

>Jeg var vist for hurtig på aftrækkeren, for de bruger jo rent faktisk
>chilliasp (en asp version til unix). Det kan være det har slåen session
>delen fra. Prøv denne her øverst i din asp-fil, for at prøve at slå det
>til igen:
><%@ ENABLESESSIONSSTATE=True %>

På PWS giver det iøvrigt denne fejl med <%@ ENABLESESSIONSSTATE=True
%>:

Active Server Pages fejl 'ASP 0221'

Ugyldigt @-kommandodirektiv

/default.asp, linje 1

Den angivne parameter 'ENABLESESSIONSSTATE=True ' er ukendt eller
ugyldig.

Er det ligegyldigt at skrive <%@ Language=VBscript %> øverst i
ASP-filer? Så vidt jeg husker, kan man kun bruge et @-kommandodirektiv
én gang?

På forhånd tak

/Lau
----
Anders Lau Mandsholm
ICQ# 67986301
www.mandsholm.dk
lau@mandsholm.ingenspam.dk

N/A (05-12-2000)
Kommentar
Fra : N/A


Dato : 05-12-00 01:05



Lauritz Jensen (05-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 05-12-00 01:05

Anders Lau Mandsholm wrote:
> Hvad er argumentet for at slå session-delen fra?

For at minske belastningen på serverne, bruge mindre hukommelse eller
bare for at generer brugerene (jeg kender ikke detaljerne, da jeg
ikke har arbejdet med chili-asp)

> Er der et alternativ til brugen af session-variable?

Da det ser ud til at dit check kun køre på ip-nummer, behøver du vel
ikke session?

Hvis ip-numeret ikke er rigtigt inde på admin-siderne, redirecter du
bare ud til de offentlige?

Ellers kan du jo lave noget cookie-sjov eller sende et midlertidigt
password med i url'en?

--
Lauritz

N/A (07-12-2000)
Kommentar
Fra : N/A


Dato : 07-12-00 12:31



Lauritz Jensen (07-12-2000)
Kommentar
Fra : Lauritz Jensen


Dato : 07-12-00 12:31

Anders Lau Mandsholm wrote:
> Det må blot være det, at sessionID ikke indskrives i headeren! Jeg
> spurgte webmaster og fik bekræftet, at der pga. en fejl ikke
> indskrives cookie-information i headeren. De får en fejlmeddelelse,
> hver gang de forsøger at slå det til.

Når du selv kan få fat i sessionID'et, så kan du jo bare selv skrive det
i en cookie? (Det burde din udbyder vel også have noget dokumentation
på?)

--
Lauritz

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408869
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste