Christian Weissengruber: session ID und netscape?

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

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

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

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

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

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