Testování síly hesla (C#)
Hesla jsou vyžadována téměř kdekoli, takže líní uživatelé mají tendenci volit jednoduchá hesla, která se snadno zlomí. Ovládací prvek PasswordStrength v ASP.NET AJAX Control Toolkit může zkontrolovat, jak dobré je heslo.
Přehled
Hesla jsou vyžadována téměř kdekoli, takže líní uživatelé mají tendenci volit jednoduchá hesla, která se snadno zlomí. Ovládací PasswordStrength
prvek v ASP.NET AJAX Control Toolkit může zkontrolovat, jak dobré je heslo.
Postup
Ovládací PasswordStrength
prvek rozšíří textové pole a zkontroluje, jestli je heslo v něm dostatečně dobré. Nabízí spoustu možností prostřednictvím atributů; tady jsou jenom některé z nich:
MinimumNumericCharacters
minimální počet číselných znaků požadovaných v hesleMinimumSymbolCharacters
minimální počet znaků symbolu (nikoli písmen a číslic) požadovaných v heslePreferredPasswordLength
minimální délka heslaRequiresUpperAndLowerCaseCharacters
jestli heslo musí používat velká i malá písmena
Poskytuje StrengthIndicatorType
informace, jak prezentovat sílu hesla, jako text (hodnota "Text"
) nebo jako druh indikátoru průběhu (hodnota "BarIndicator"
). V atributu DisplayPosition
nakonfigurujete, kde se informace zobrazí. Tady je úplný příklad, včetně ovládacího prvku ASP.NET AJAX ScriptManager
, PasswordStrength
ovládacího prvku a samozřejmě textového pole, do kterého může uživatel zadat heslo. Pro účely ukázky je druhé pole formuláře běžným textovým polem, nikoli polem s heslem, takže během vývoje můžete vidět, co píšete.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Control Toolkit</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="asm" runat="server" />
<div>
<asp:TextBox ID="Password" runat="server" />
<ajaxToolkit:PasswordStrength ID="ps1" runat="server"
TargetControlID="Password" RequiresUpperAndLowerCaseCharacters="true"
MinimumNumericCharacters="1" MinimumSymbolCharacters="1"
PreferredPasswordLength="8" DisplayPosition="RightSide"
StrengthIndicatorType="Text" />
</div>
</form>
</body>
</html>
Spusťte stránku a zadejte text pryč: Heslo se považuje za nerozlomitelné až po zadání malých písmen, velkých písmen, číslic a symbolů.
Teď je heslo (celkem) v pořádku (kliknutím zobrazíte obrázek v plné velikosti).