Response.Redirect zeitverzögert...
Chief Brodie
- asp.net
0 Christian0 Chief Brodie0 Martin Speiser0 Frank0 Martin Speiser0 Frank
0 Chief Brodie0 Frank
0 Sven
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
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
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
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 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
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 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
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
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
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