AjaxControlToolkit NoBotState ist immer InvalidBadResponse

8

Ich versuche, AjaxControlToolkit NoBot zu implementieren, aber ich bekomme immer falsch von IsValid() Methode (der Statuswert ist immer InvalidBadResponse ). Fehle ich hier etwas?

ASCX-Code:

%Vor%

Code dahinter:

%Vor%

Weitaus seltsamer ist das: Ich gebe Daten für die Anmeldung ein und klicke auf die ASP-Schaltfläche. NoBot state ist InvalidBadResponse und es schlägt fehl. Aber, dann klicke ich auf den Aktualisierungsknopf des Browsers, es fragt mich, Anfrage erneut zu senden, sage ich ok und jetzt ist der Zustand gültig! Warum?

    
1110 27.10.2011, 11:29
quelle

4 Antworten

2

Der einzige Grund, den ich kenne, dass Sie erhalten eine „ InvalidBadResponse “ von der NoBot Kontrolle ist, wenn Sie Javascript in Ihrem Browser deaktiviert haben. Die Dokumentationsseite besagt, dass eine der Techniken, die von NoBot beträgt

  

Erzwingt, dass der Browser des Clients ein konfigurierbares JavaScript ausführt   Berechnung und Überprüfung des Ergebnisses als Teil des Postbacks. (Beispiel: die   Die Berechnung kann eine einfache numerische sein oder auch das DOM beinhalten   für zusätzliche Sicherheit, dass ein Browser beteiligt ist)

Ein " InvalidBadRespone " Meldung bedeutet, dass der Javascript nicht (auch oben vom Link) erhalten ausgeführt haben:

  

InvalidBadResponse: Der Abfrage wurde eine ungültige Antwort zugewiesen   schlägt vor, dass das Challenge-Skript nicht ausgeführt wurde

Ich würde Ihre Browsereinstellungen überprüfen. Ich habe dies getestet, indem ich JavaScript in meinem Browser deaktiviert habe (nur um sicherzugehen) und das Beispiel auf der Dokumentationsseite versucht habe.

Sie können die Berechnung mithilfe des Attributs OnGenerateChallengeAndResponse anpassen, um einen Ereignishandler anzugeben. Ich gutes Beispiel für ein solches Event-Handler-Implementierung ist dies (Code Kredit diese posten ):

%Vor%     
jadarnel27 01.11.2011 16:33
quelle
1

Bitte beachten Sie diese

Ссылка

Ссылка

    
ananth_adroit 01.11.2011 06:16
quelle
0

Wie in anderen Antworten erwähnt, ist InvalidBadResponse aufgrund der fehlgeschlagenen JavaScript-Abfrage fehlgeschlagen.

Das Problem:

Der Grund, warum es für mich fehlgeschlagen ist, war, dass die ASP.NET-Ajax-Bibliotheken, die benötigt wurden, nicht geladen werden konnten; Schau dir den Javascript Debugger deines Browsers an. so sah mein (in Chrome) aus wie

Wie Sie sehen können, wurden die .axd Dateien nicht geliefert und der Fehler ASP.NET Ajax client-side framework failed to load Fehler war ziemlich aussagekräftig.

Die Ursache: (in meinem Fall)

Ich hatte eine URL Umschreiben Regel, dass das .axd Urls versehentlich verändert -. Wodurch sie nicht bedient werden

Ich würde empfehlen, Ihre web.config zu überprüfen, falls nötig, die Zeile hinzuzufügen

%Vor%

zu deinen Regeln und diesem

%Vor%

in Ihrem Global.asax (wenn Sie einen haben) wo (und wenn) Sie Routen registrieren.

Überprüfen Sie dieses SO beantworten out: Ajax-Client-seitiges Framework konnte Asp.Net 4.0 nicht laden

    
James 04.05.2013 21:27
quelle
0

Eine weitere mögliche Ursache könnte der ViewStateMode des Masters, der Seite oder des Steuerelements sein, der auf Disabled gesetzt ist. Scheint, dass es aktiviert sein muss, damit der NoBot nicht richtig funktioniert.

Ich habe auf der CMS-Hauptseite einige Tests mit ViewStateMode="Disabled" durchgeführt, und NoBotState hat begonnen, InvalidBadResponses auf meiner Anmeldeseite zurückzugeben. Wenn ich es in ViewStateMode="Enabled" ändere, wurde es für mich repariert.

    
alpha pecap 17.04.2014 23:30
quelle

Tags und Links