Christian Weissengruber: Wie lang darf der Querystring sein?

Hallo zusammen,
wie lang darf der querytring sein, den ich an eine Seite uebergebe?
ich uebergeb da ziemlich viel an ein asp-script und irgendwo ist dann Schluss, wenn ich den laengsten vorkommenden String anders positioniere ist das Ergebnis jedesmal was anderes, ich komm da auf nix plausibles wie 255, 1024 oder aehnliches.
Weiss da jemand Bescheid?
Danke
Christian
hier der Aufruf der Seite
Response.Redirect "https://serverpfad/secure/inits.asp?ShopID="&ShopID &_
       "&ProductID="&ProductID &_
       "&TransID="&TransID &_
       "&OrderTotal="&OrderTotal &_
       "&Success_Url="&Success_Url &_
       "&Fehler_Url="&Fehler_Url &_
       "&shopper_name="&shopper_name &_
       "&shopper_email="&shopper_email &_
       "&Waehrung="&Waehrung &_
       "&Trans_Type="&Trans_Type &_
       "&Shop_Email="&Shop_Email &_
       "&default_payment="&default_payment &_
       "&OrderDescription="&OrderDescription

  1. Hi Christian,

    wie lang darf der querytring sein, den ich an eine Seite uebergebe?

    beim IIS darf die URL maximal 2048 Zeichen lang sein, inklusive Query-String.

    Gruß,
    Martin

  2. Hallo!

    wie lang darf der querytring sein, den ich an eine Seite uebergebe?

    Oder anders: Wie lang darf eine URL sein. Normiert ist das nicht. Man soll es in einem vernuenftigen Rahmen halten, heisst es glaube ich in der entsprechenden RFC. Auf jeden Fall sollte man daran denken, dass eine URL auf ihrem Weg mehrere Stationen passieren kann, z.B. Proxyserver (manche aeltere unterstuetzen angeblich nur bis 255 Zeichen). Das schwaechste Glied definiert hier natuerlich die Staerke der Kette.
    Ach ja, auf manchen OS ist tatsaechlich auch die Laenge der Umgebungsvariablen arg begrenzt.

    Rein gefuehlsmaessig wuerde ich sagen, hoeher als 1024 Zeichen sollte man auf keinen Fall gehen. 255 sollten auf keinen Fall Fehler produzieren, aber das ist natuerlich schon verdammt wenig.

    Hilft nicht wirklich, ich weiss, aber was soll man machen.
    So long

    1. Hi,

      wat willste denn machen??

      eine art Shopsystem bei dem in jedem Fenster neue var hinzukommen.

      Versuchs mal über die FORM.Collection (Request.Form)..

      geht nicht?? Ich hab mir gerade einen Trick einfallen lassen:

      Du übergibst per POST Formulardaten, im folgenden liest du die gesamte FORM.Collection aus:

      FOR EACH entry in REQUEST.FORM
      IF entry <> "x" and entry <> "y" THEN
      Response.Write "<input type=hidden name='" & entry & "' value='" &  Request.Form(entry) & "'><br>"
      END IF
      NEXT

      X und Y sind Müll.. die werden jedesmal neu übergeben.
      Alle Inhalte schreibst du einfach in neue <input type=hidden> rein... und schwupps bleiben sie erhalten und du brauchst keinen ewigen Rattenschwanz. POST-Methode hat keine Begrenzung, da alles im HTTP_Header transportiert wird.

      Bei Fragen, mail mir noch mal, ciaoi

      Frank

      1. Du übergibst per POST Formulardaten, im folgenden liest du die gesamte FORM.Collection aus:

        FOR EACH entry in REQUEST.FORM

        »»  IF entry <> "x" and entry <> "y" THEN
        »»  Response.Write "<input type=hidden name='" & entry & "' value='" &  Request.Form(entry) & "'>

        "

        »»  END IF
        »»  NEXT

        Hallo Frank, das ist gut, sehr gut,
        aber mein Problem lag bei der Uebergabe von daten von http auf https.
        der daemliche Browser hatte da seine Probleme mit session-vars, ueber die Url wollte ich aus optischen Gruenden nicht. Jetzt werden die Truemmer ueber die DB uebergeben.
        danke trotzdem fuer den Tip.
        Gruss
        Christian

        Posting:
        <84160.html>

  3. Hi Christian,

    vielleicht kannst Du da auch gar nix fuer, sondern leidest unter einem Bug des IE5; lies mal unter <../../sfarchiv/2000_2/t15904.htm#a80521>; vielleicht ist das die Ursache.

    Viele Gruesse,
    Heiko

  4. Danke
    ich hab das jetzt ueber eine db geloest.
    das kostet zwar zeit, aber da kann man nix machen.
    Gruss
    Christian