session ID und netscape?
Christian Weissengruber
- programmiertechnik
Hallo zusammen,
ich rufe ein script (init1.asp) folgendermassen auf:
Response.Redirect "https://serverpfad/init1.asp?ID=" & Session.SessionID
mit msie gibt es keinerlei Probleme.
mit netscape auf lokalem Server auch nicht.
auf dem oeffentlichen webserver sind jedoch die verglichenen SessionID's unterschiedlich.
d.h.
theSessionID = Request.Querystring("ID") liefert z.b: 220721841
und Session.SessionID liefert 220721844
das passiert nur mit Netscape, ich kann allerdings kaum NN-User ausschliessen.
(natuerlich mit unveraenderten Browsereinstellungen)
hat da jemand eine Idee?
hier das script,
<% @LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<%Response.Expires = 0%>
<%Response.Buffer = True %>
<!--#INCLUDE FILE = "../include/mylog.asp" -->
<%
Dim theSessionID
' wenn der das direkt anwaehlt, darf er nicht
Dim strFormErr
theSessionID = Request.Querystring("ID")
' netscape kapiert das nicht
'mylog now()
'mylog theSessionID
'mylog Session.SessionID
If theSessionID <> "" Then
If theSessionID <> Session.SessionID Then
'Response.Write "Cookies are OFF"
strFormErr = strFormErr & "<font color=" & "#FF0033" & ">" & "Sie erlauben leider keine Cookies, Transaktionen koennen nicht durchgefuehrt werden " & "</font>" & "<BR>" & "<BR>"& "</b>"
Response.Redirect "../error.asp?msg=" & Server.URLEncode(strFormErr)
Else
'Response.Write "Cookies are ON"
Response.Redirect "init2.asp"
End If
Else ' the user didn't come from default.asp, send 'em back
Response.Redirect "init.asp"
End If
%>
Hallo Christian,
das einzogste, was mir hierzu einfällt, ist folgendes:
Evtl. erkennt NS durch den Recirect auf https den Server
nicht und verweigert die Annahme der "alten" SessionID.
Aus diesem Grund muss der Server eine neue Session erzeugen
und somit auch eine neue ID vergeben.
Frage hierzu:
Wird der Redirect schon von einer "sicheren" Seite, also
https oder von einer "normalen" Seite, also http initiiert.
IE hat zum Beispiel auch seine Probleme beim Posten von
Formulardaten von einer "normalen" zu einer "sicheren" Seite
und übermittelt die Datenmanchmal erst nach einem Reload.
Tschau, Stefa
Hallo zusammen,
ich rufe ein script (init1.asp) folgendermassen auf:
Response.Redirect "https://serverpfad/init1.asp?ID=" & Session.SessionID
mit msie gibt es keinerlei Probleme.
mit netscape auf lokalem Server auch nicht.
auf dem oeffentlichen webserver sind jedoch die verglichenen SessionID's unterschiedlich.
d.h.
theSessionID = Request.Querystring("ID") liefert z.b: 220721841
und Session.SessionID liefert 220721844
das passiert nur mit Netscape, ich kann allerdings kaum NN-User ausschliessen.
(natuerlich mit unveraenderten Browsereinstellungen)
hat da jemand eine Idee?
Hallo Stefan,
dar Aufruf erfolgt folgendermassen:
http://shop.htm
redirect http://paymentserver/init.asp
redirect https://paymentserver/init1.asp
hier passiert das merkwürdige mit Netscape.
mit MSIE hatte ich da noch nie irgendwelche Probleme und da laufen eine ganze Menge Transaktionen drüber.
Session-Variablen bleiben mir alledings auf keinen Fall erspart, also sollte ich das mit NN auch hinkriegen. aber wie?
Gruss
Christian
Hallo Christian,
das einzogste, was mir hierzu einfällt, ist folgendes:
Evtl. erkennt NS durch den Recirect auf https den Server
nicht und verweigert die Annahme der "alten" SessionID.
Aus diesem Grund muss der Server eine neue Session erzeugen
und somit auch eine neue ID vergeben.
Frage hierzu:
Wird der Redirect schon von einer "sicheren" Seite, also
https oder von einer "normalen" Seite, also http initiiert.
IE hat zum Beispiel auch seine Probleme beim Posten von
Formulardaten von einer "normalen" zu einer "sicheren" Seite
und übermittelt die Datenmanchmal erst nach einem Reload.Tschau, Stefan
Hallo zusammen,
ich rufe ein script (init1.asp) folgendermassen auf:
Response.Redirect "https://serverpfad/init1.asp?ID=" & Session.SessionID
mit msie gibt es keinerlei Probleme.
mit netscape auf lokalem Server auch nicht.
auf dem oeffentlichen webserver sind jedoch die verglichenen SessionID's unterschiedlich.
d.h.
theSessionID = Request.Querystring("ID") liefert z.b: 220721841
und Session.SessionID liefert 220721844
das passiert nur mit Netscape, ich kann allerdings kaum NN-User ausschliessen.
(natuerlich mit unveraenderten Browsereinstellungen)
hat da jemand eine Idee?
Hallo Christian,
hast Du schon mal probiert, von shop.htm direkt auf den SSL-Port zu gehen
und dein Redirect dann (für den Browser) innerhalb der Domain zu machen.
[http://shop.htm]
<a href="https://paymentserver/init.asp">Link</a>
[https://paymentserver/init.asp]
<% Response.Redirect "init1.asp" %>
Im Moment dürfte dein Redirect eher so aussehen:
<% Response.Redirect "https://paymentserver/init1.asp" %>
Wie gesagt, evtl. kommt NS mit dem Umsprung auf den Secureport der gleichen
Domain nicht klar, da er evtl. beim Umschwenken auf ein anderes Protokoll
annimmt, daß dies ein anderer Server ist (beim Schwenk von http auf ftp
macht er das ja auch)
Ich würde dir auf jeden Fall vorschlagen, die SessionVariablen auf einer
SSL-geschützten Seite zu setzen. Damit sollten bei Browser klarkommen.
Tschau, Stefan
Hallo Stefan,
dar Aufruf erfolgt folgendermassen:
http://shop.htm
redirect http://paymentserver/init.asp
redirect https://paymentserver/init1.asp
hier passiert das merkwürdige mit Netscape.
mit MSIE hatte ich da noch nie irgendwelche Probleme und da laufen eine ganze Menge Transaktionen drüber.
Session-Variablen bleiben mir alledings auf keinen Fall erspart, also sollte ich das mit NN auch hinkriegen. aber wie?
Gruss
Christian
Hallo Stefan,
danke fuer die Vorschlaege, ich kann das allerdings kaum realisiern, da ja vom Shop her schon "hidden fields" kommen und der Weg dadurch entstanden ist, da ich sonst keine Moeglichkeit gefunden habe, die Felder aus dem Shop nach https zu transferieren.
[http://shop.htm] (mit hiddenfileds aus einem form)
action http://paymentserver/init.asp
[http://paymentserver/init.asp] (hier werden die form-felder in session-variablen gestellt)
redirect https://paymentserver/init1.asp
[https://paymentserver/init1.asp] (ab hier gab es auch noch nie irgendwelche Probleme mit den session-vars, die hier neu entstanden)
ich kann mir da natuerlich was einfallen lassen.
was aber total verwirrend ist:
wieso passiert das nicht im lokalen Netz?
da ist kein Unterschied ausser der IP-Adresse
Gruss
Christian
Ich würde dir auf jeden Fall vorschlagen, die SessionVariablen auf einer
SSL-geschützten Seite zu setzen. Damit sollten bei Browser klarkommen.
Hallo Stefan,
Danke
es ist nicht moeglich, alle session-variablen erst im https-Bereich zu bilden, ebenso ist es nicht moeglich, die benoetigten Truemmer ueber querystring weiterzureichen (zu lang), also hab ich das jetzt ueber die DB geloest.
das kostet zwar zeit, aber da kann man nix machen.
Gruss
Christian