Seite 1 von 1

JS-Countdown und wie man den umgehen kann

Verfasst: 19.12.2006, 13:37
von twitch
Hallo,
jetzt hab ich mal ne knifflige Frage für unsere Helden:

Ich habe bei einem kleinen Gewinnspiel einen Countdown von 5 Minuten eingebaut. Leider schaffen es einige diesen Countdown zu stoppen und somit erreichen die wahnsinnige Highscores. Leider habe ich keine Ahnung wie die das machen.

Folgendes Skript benutze ich:

Code: Alles auswählen

<body onload="initPageXMAS&#40;&#41;;">
			<script>
			//alert&#40;'Soll das Spiel gestartet werden?'&#41;;
			var countDownInterval=300;		
			var countDownTime=countDownInterval+1;
			
			function countDown&#40;&#41;&#123;
				countDownTime--;
				if &#40;countDownTime <=0&#41;&#123;
					countDownTime=countDownInterval;
					clearTimeout&#40;counter&#41;;
					hung&#40;&#41;;
					return
				&#125;
				if &#40;document.all&#41;&#123; //if IE 4+
					document.all.countDownText.innerText = countDownTime+" ";
				&#125;else if &#40;document.getElementById&#41; &#123;//else if NS6+
					document.getElementById&#40;"countDownText"&#41;.innerHTML=countDownTime+" ";
				&#125;else if &#40;document.layers&#41;&#123; 
					document.write&#40;'Zeit läuft in <b id="countDownText">'+countDownTime+' </b> Sekunden ab'&#41;;
				&#125;
				counter=setTimeout&#40;"countDown&#40;&#41;", 1000&#41;;
			&#125;
			
			function startit&#40;&#41;&#123;
				if &#40;document.all||document.getElementById&#41; &#123;
					document.write&#40;'Zeit läuft in <b id="countDownText">'+countDownTime+' </b> Sekunden ab!'&#41;;
					countDown&#40;&#41;;
				&#125;
			&#125;
			
			if &#40;document.all||document.getElementById&#41;&#123;
				startit&#40;&#41;;
			&#125;else&#123;
				window.onload=startit;
			&#125;
			
			</script>
Das Quiz läuft auch unter JS, so dass die JS nicht ausgestellt haben können.
Richtige URL gibts per PM...

hoffe ihr könnt mir helfen. Ich weiß leider nicht mehr weiter :-(

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 19.12.2006, 13:51
von Alpinist
Held meldet sich, findet aber nicht kniffeliges: man kann ganz einfach die Ausführung stoppen...

Du kannst nur sichergehen, dass nur 5 Minuten gebraucht wurden, wenn die Start- und Stopzeit Serverseitig gespeichert und überprüft werden (mit einer kleinen Marge für die Requests). Da hilft kein JS und auch kein Flash.

Übrigens solltest Du die Sekunde nicht mit 1000ms sondern mit höchsten 950ms angeben, da sonst (je nach Auslatung des Rechners höhere) Abweichungen ergeben.

Grüße

Verfasst: 19.12.2006, 14:05
von twitch
danke...
Ja, Start und Stopzeit schreibe ich per PHP in die SESSIOn, deswegen bin ich ja darauf gekommen, da es dort Einträge gibt, die über 6min liegen...

Wie stoppt man denn ganz einfach die Ausführung? Das wäre ja mal das, was ich super gerne wissen würde :-)

Verfasst: 19.12.2006, 14:11
von Alpinist
Es gibt Plugins die das beherrschen. Such mal nach JS Debugging Tools. Ziel ist es die Ausführung des JS Skriptes Zeile für Zeile durchgehen zu können um z.B. Fehler oder fälschlicherweise überschriebene Variablen zu finden. Oder in deinem Fall, um einfach die Zeit anzuhalten ;-)

Grüße

Verfasst: 19.12.2006, 15:14
von twitch
jo... Tatsache.. das funktioniert so...:-(
gibt es eine Möglichkeit, wie man das verhindern kann?
(Außer die Zeit serverseitig mitzuloggen?)

Verfasst: 19.12.2006, 18:18
von n3m0
twitch hat geschrieben:jo... Tatsache.. das funktioniert so...:-(
gibt es eine Möglichkeit, wie man das verhindern kann?
(Außer die Zeit serverseitig mitzuloggen?)
Da könnte Ajax helfen ...

Re: JS-Countdown und wie man den umgehen kann

Verfasst: 19.12.2006, 19:15
von oldInternetUser
twitch hat geschrieben:jetzt hab ich mal ne knifflige Frage für unsere Helden:

Ich habe bei einem kleinen Gewinnspiel einen Countdown von 5 Minuten eingebaut. Leider schaffen es einige diesen Countdown zu stoppen und somit erreichen die wahnsinnige Highscores. Leider habe ich keine Ahnung wie die das machen.
Dann scheinst Du zwar JavaScript zu verwenden, aber ein Grundmerkmal von JavaScript nicht verstanden zu haben: Das wird auf dem Client ausgeführt.

Also genügt es, die Seite lokal abzuspeichern, die Bremse auszukommentieren, eventuell einige Pfade absolut umzubiegen - und dann spielt man munter eine halbe Stunde.

Man braucht da weder Tools noch irgendein geheimnisvolles Wissen - Html-Seiten kann man ja auch lokal testen.

Verfasst: 20.12.2006, 07:42
von twitch
@ oldInternetUser...
Das war mir klar und deswegen gibt es keien Chance sich in die Highscore einzutragen ohne den richtigen Referrer und der notwendigen Session.
Klar kann er das lokal abspeichern uns spielen aber definitiv nicht eintragen :-)

PS: Ja ich verwende JS, aber leider versth ich das auch :-)

Verfasst: 20.12.2006, 10:26
von oldInternetUser
twitch hat geschrieben: Das war mir klar und deswegen gibt es keien Chance sich in die Highscore einzutragen ohne den richtigen Referrer und der notwendigen Session.
Klar kann er das lokal abspeichern uns spielen aber definitiv nicht eintragen :-)

PS: Ja ich verwende JS, aber leider versth ich das auch :-)
Und worin besteht dann das Problem?

Wenn Du eine serverseitige Session hast, dann speichere beim Beginn des Spiels die Zeit ab - ist am Ende des Spiels die verstrichene Zeit größer als 5 Minuten, dann wird nichts gespeichert.

Sorry, aber dann sind dir die simpelsten Dinge nicht klar.

Verfasst: 20.12.2006, 15:36
von twitch
?... wir reden aneinander vorbei!

close Thread...