9 Stimmen

Wie verzögert / drosselt man Anmeldeversuche in ASP.NET?

Ich versuche, einige sehr einfache Anforderungsdrosselung in meinem ASP.NET-Webprojekt durchzuführen. Derzeit bin ich nicht daran interessiert, Anfragen global gegen DOS-Angriffe zu drosseln, würde jedoch gerne die Antwort auf alle Login-Versuche künstlich verzögern, um Wörterbuchangriffe etwas schwieriger zu machen (mehr oder weniger wie von Jeff Atwood hier beschrieben).

Wie würden Sie es implementieren? Der naive Weg wäre - nehme ich an - einfach zu:

Thread.Sleep();

irgendwo während der Anfrage aufzurufen. Vorschläge? :)

0voto

Subliminal Hash Punkte 13445

Ich glaube nicht, dass das, was du verlangst, in einer Webumgebung besonders effizient ist. Der Zweck von Anmeldeseiten besteht darin, einen einfachen Zugang zu deinen Diensten für 'Benutzer' zu ermöglichen und sollte einfach und schnell zu bedienen sein. Du solltest also keinen Benutzer warten lassen, da 99% von ihnen nicht böswillig sind.

Sleep.Trhead hat auch das Potenzial, eine enorme Belastung für deinen Server darzustellen, wenn es viele gleichzeitige Benutzer gibt, die versuchen sich anzumelden. Mögliche Optionen wären:

  • Blockiere die IP nach (z.B.) dem Ende der Sitzung für x Anzahl von fehlgeschlagenen Anmeldeversuchen
  • Biete ein Captcha an

Natürlich sind dies nicht alle Möglichkeiten, aber ich bin sicher, dass mehr Menschen mehr Ideen haben werden...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X