Chief Brodie: Response.Redirect zeitverzögert...

hallihallo!

ich habe mal eine frage zu ASP und JScript...

kann ich so etwas wie setTimeout() im serverscript verwenden?
ich möchte eine art "brute-force-protection" fürs login-script erstellen - dabei soll nach jeder falscheingabe eine zeitverzögerung von 2 sec. aktiv werden, bis der redirect stattfindet.

mit VBS kann man so etwas leider nicht machen, da es in VBS keinerlei möglichkeiten der zeitverzögerung gibt, ausser tödliche schleifen zu programmieren, welche die gesamte CPU-zeit verbrauchen.
aber vielleicht ist es ja mit JScript möglich...

oder hat da jemand evtl. noch eine andere idee, wie so eine idee bewerkstelligt werden könnte?

grtz
chief

  1. Hi,

    kann ich so etwas wie setTimeout() im serverscript verwenden?
    ich möchte eine art "brute-force-protection" fürs login-script erstellen - dabei soll nach jeder falscheingabe eine zeitverzögerung von 2 sec. aktiv werden, bis der redirect stattfindet.

    es gibt bei http://www.serverobjects.com eine Komponente für wait.
    Gruss
    Christian

    1. es gibt bei http://www.serverobjects.com eine Komponente für wait.
      Gruss
      Christian

      hi, christian!

      vielen dank für den link! :-)

      leider benötige ich, wenn ich eine komponente verwende, eine, die rein scriptbasiert ist - da am server keine registrierung von komponenten möglich ist.
      (das alte leiden... *g*)

      grtz
      chief

      1. Hi Brodie.

        leider benötige ich, wenn ich eine komponente verwende, eine, die rein scriptbasiert ist - da am server keine registrierung von komponenten möglich ist.

        Dann mach's doch in Javascript. Du musst ASP nicht mit VBScript programmieren, sondern kannst auch Javascript nehmen.

        Gruß,
        Martin

        1. Hi Brodie.

          leider benötige ich, wenn ich eine komponente verwende, eine, die rein scriptbasiert ist - da am server keine registrierung von komponenten möglich ist.

          Dann mach's doch in Javascript. Du musst ASP nicht mit VBScript programmieren, sondern kannst auch Javascript nehmen.

          Gruß,
          Martin

          Hi,

          genau eine solche Lösung sucht er ja imho, JScript oder VBScript.

          im reinen VBS kann man mittels wscript.sleep millisekunden eine Pause erzwingen, eventuell solltest du (Chief) auf der ASP-Seite das WSH-Objekt erstellen.

          Gruß, Frank

          1. Hi Frank,

            genau eine solche Lösung sucht er ja imho, JScript oder VBScript.

            sorry, hab nicht nachgeguckt, und bin davon ausgegangen, dass setTimeout eine Javascript-Funktion ist. Die gehört aber zum DOM. Da geht's natürlich nicht auf dem Server.

            Gruß,
            Martin

            1. Hi Frank,

              genau eine solche Lösung sucht er ja imho, JScript oder VBScript.

              sorry, hab nicht nachgeguckt, und bin davon ausgegangen, dass setTimeout eine Javascript-Funktion ist. Die gehört aber zum DOM. Da geht's natürlich nicht auf dem Server.

              Gruß,
              Martin

              Hi,

              war ja auch kein Vorwurf :-)

              Gruß, Frank

          2. Hi,

            genau eine solche Lösung sucht er ja imho, JScript oder VBScript.

            im reinen VBS kann man mittels wscript.sleep millisekunden eine Pause erzwingen, eventuell solltest du (Chief) auf der ASP-Seite das WSH-Objekt erstellen.

            Gruß, Frank

            hi, frank!

            das mit dem WSH ist eine gute idee - ich habe zwar noch nie näher damit zu tun gehabt, aber alles hat ja mal seinen anfang!
            wie gehe ich vor - in etwa so?

            Set objWSH = Server.CreateObject("WScript.Shell")
            WScript.Sleep(2000)

            kannst du mir evtl. einen kleinen "anschubser" geben? :-)

            grtz
            chief

            1. Set objWSH = Server.CreateObject("WScript.Shell")
              WScript.Sleep(2000)
              kannst du mir evtl. einen kleinen "anschubser" geben? :-)

              Hi,

              damit erstellst du das Shell-Objekt und kannst viele lustige Sachen mit machen. Wscript.sleep basiert aber auf dem wshom.ocx und wie man das unabhängig erstellen kann, hab ich nicht rausgefunden....

              aber mit folgendem Trick geht es:

              a = timer
              set myWs = CreateObject("Wscript.Shell")
              myWs.run "C:\Inetpub\wwwroot\wait.vbs",0,True
              set myWs = nothing
              b = timer - a
              Response.Write "test: " & b & " sek.<br>"

              wait.vbs beinhaltet nur
              wscript.sleep 10000

              Über die Arguments-Sammlung kannst du das natürlich noch hübsch ausbauen.

              Gruß, Frank

  2. Hi Chief

    mit VBS kann man so etwas leider nicht machen, da es in VBS keinerlei möglichkeiten der zeitverzögerung gibt, ausser tödliche schleifen zu programmieren, welche die gesamte CPU-zeit verbrauchen.

    doch gibt es, allerdings nur wenn du den Login mit einer Datenbank überprüfst.

    Dann genügt es eine Zeile vor: Server.CreateObject..... folgende Zeile zu schreiben:

    Server.ScriptTimeout(2)

    ach ja, in JScript. in VB Script heißt das glaub ich: Server.ScriptTimeout = 2

    Grüße aus Oberfranken

    Sven