2010-12-10 5 views
5

http://en.wikipedia.org/wiki/Konami_CodeKonami Code mit C# und ASP.net

ich bereits getan dies mit voller Javascript, aber wie kann ich dies in C#/asp.net Website (nicht winform). Danke ..

+0

Kannst du nicht etwas von Ihrem JavaScript-Code in dieser ASP.NET-Seite verwenden? Es ist html schließlich ... – decyclone

+0

Ich meine ja kann es, aber ich will es nur Server-Seite, so dass der Code kann nicht angezeigt werden, wenn Sie die HTML-Quelle ansichten =) – CSharpNoob

+0

Es gibt eine ähnliche Frage im Stapel über den Fluss bereits..chek es aus --http: //stackoverflow.com/questions/469798/konami-code-in-c –

Antwort

3

Es macht keinen Sinn, es in C# zu tun. Solcher Code müsste sowieso auf der Client-Seite ausgeführt werden, also muss es Javascript sein (es sei denn, Sie möchten jedem Client einen Tastenanschlag an den Server senden, was sehr langsam wäre)

Wie auch immer, hier ist eine C# Implementierung. Es ist für WPF, aber es wäre nicht schwer, es an eine andere Technologie anzupassen.

+1

Ich frage mich, was ist das Äquivalent von KeyEventArgs in system.web Namespace ^^ – CSharpNoob

4

Also meinst du, der Benutzer sollte nicht herausfinden, über Ihre ultra geheimen konami-Code, wenn Sie die Quelle anzeigen?

Es ist nicht möglich, es vollständig Server-Seite zu tun, es sei denn, Sie möchten ein Postback bei jedem Tastendruck, was peinlich ist.

Sie könnten das Javascript komprimieren und verschleiern, aber ich schätze, ein Benutzer mit einer starken Entschlossenheit kann es immer noch herausfinden.

Sie könnten Silverlight verwenden, aber auch hier kann ein Benutzer mit einer starken Entschlossenheit, die XAP aus dem Browser-Cache entpacken und Ihre DLLs in Reflektor anzuzeigen.

Was Sie tun könnten, ist jeden Tastendruck an den Server mit AJAX zu senden (oder sammeln Sie sie clientseitig und senden sie in einem Batch), das ist wirklich nicht , dass schmerzhaft langsam. Auf dem Server müssten Sie die Tastenanschläge analysieren. Dieser Code ist für den Benutzer nicht sichtbar. Sie müssten dann einen Push-Mechanismus simulieren, um die gewünschte Reaktion auf der Clientseite auszulösen.

0

wie andere schon sagten, es macht nicht viel Sinn, es vollständig in C# zu implementieren. Aber ich könnte mir eine Art Kombination von JavaScript + AJAX mit C# vorstellen ... Nur ein paar Ideen :)

Möglicher Arbeitsablauf: Benutzereingabe (letzte 10 Schlüssel) mit JavaScript scannen und die Eingaben in ein Array (ASCII-Code) schieben oder etwas) und senden Sie eine Anfrage über AJAX, die die gesamte geheime Zielseite als HTML-Ergebnis zurückgibt, anstatt nur zu überprüfen, da dies leicht zu knacken wäre. Eigentlich wäre das mehr wie ein Passwortvergleich. Aber man könnte sie JavaScript optimiert und das Array löscht auf wenigen Sekunden ohne Eingabe (Leerlaufzeit) wie 2 Sekunden (so dass der Eingang muss fließend sein) und die Ajax-Anforderung ohne Eingabe nach 1 Sekunde senden, so dass Sie nicht über Ihre eigene Flut Server.

JQuery wird Ihnen sehr helfen!

Glücklich Codierung:)

  • freundlichen Grüßen
    Thomas
0

herzmeister Siehe der Welten

Was Sie tun können, ist jeden Tastendruck an den Server sendet AJAX (oder vielleicht sammle ich sie clientseitig und sende sie im Batch), was eigentlich nicht so schmerzhaft langsam ist. Auf dem Server müssten Sie die Tastenanschläge analysieren. Dieser Code ist für den Benutzer nicht sichtbar.Sie müssten dann einen Push-Mechanismus simulieren, um die gewünschte Reaktion auf der Clientseite auszulösen.

Der Auslöser könnte der letzten Tastendruck Sie als Teil der Kombination müssen sein, würde der Benutzer nur dann in der Lage sein, den letzten Tastendruck zu entziffern, und dies würde die wenigsten Postbacks ohne eine Client-seitige Validierung bieten.

(wäre nur eine Bemerkung gemacht hat, aber es fehlt rep)