Po bëja disa hulumtime për gjetjen e një shembulli të mirë të një kontrolli të Forcës së Fjalëkalimit që përdor JavaScript Shprehje të rregullta (Regex). Në aplikacionin në punën time, ne bëjmë një postim për të verifikuar forcën e fjalëkalimit dhe është mjaft e papërshtatshme për përdoruesit tanë.
Çfarë është Regex?
Një shprehje e rregullt është një sekuencë e karaktereve që përcaktojnë një model kërkimi. Zakonisht, modele të tilla përdoren nga algoritmet e kërkimit të vargjeve gjej or gjeni dhe zëvendësoni operacionet në vargje, ose për vërtetimin e hyrjes.
Ky artikull nuk është padyshim për t'ju mësuar shprehje të rregullta. Thjesht dijeni se aftësia për të përdorur Shprehje të Rregullta do të thjeshtojë absolutisht zhvillimin tuaj ndërsa kërkoni modele në tekst. Alsoshtë gjithashtu e rëndësishme të theksohet se shumica e gjuhëve të zhvillimit kanë optimizuar përdorimin e rregullt të shprehjes ... kështu që në vend se të analizojë dhe kërkojë vargje hap pas hapi, Regex është zakonisht shumë më i shpejtë si nga serveri ashtu edhe nga klienti.
Kam kërkuar në internet mjaft para se të gjeja nje shembull të disa Shprehjeve të Rregullta të shkëlqyera që kërkojnë një kombinim të gjatësisë, karaktereve dhe simboleve. Sidoqoftë, kodi ishte paksa i tepruar për shijen time dhe i përshtatur për .NET. Kështu që unë thjeshtova kodin dhe e vendosa në JavaScript. Kjo e bën atë të vërtetojë forcën e fjalëkalimit në kohë reale në shfletuesin e klientit përpara se ta postojë përsëri… dhe siguron disa reagime për përdoruesin për fuqinë e fjalëkalimit.
Shkruaj një fjalëkalim
Me çdo goditje të tastierës, fjalëkalimi testohet kundër shprehjes së rregullt dhe më pas sigurohet reagimi për përdoruesin në një hapësirë nën të.
Shkruaj fjalëkalimin
Këtu është Kodi
La Shprehje të rregullta bëni një punë fantastike të minimizimit të gjatësisë së kodit:
- Më shumë personazhe - Nëse gjatësia është nën 8 karaktere.
- i dobët - Nëse gjatësia është më pak se 10 karaktere dhe nuk përmban një kombinim të simboleve, shkronjave, tekstit.
- Medium - Nëse gjatësia është 10 karaktere ose më shumë dhe ka një kombinim të simboleve, shkronjave, tekstit.
- I fortë - Nëse gjatësia është 14 karaktere ose më shumë dhe ka një kombinim të simboleve, kapakëve, tekstit.
<script language="javascript">
function passwordChanged() {
var strength = document.getElementById('strength');
var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{8,}).*", "g");
var pwd = document.getElementById("password");
if (pwd.value.length == 0) {
strength.innerHTML = 'Type Password';
} else if (false == enoughRegex.test(pwd.value)) {
strength.innerHTML = 'More Characters';
} else if (strongRegex.test(pwd.value)) {
strength.innerHTML = '<span style="color:green">Strong!</span>';
} else if (mediumRegex.test(pwd.value)) {
strength.innerHTML = '<span style="color:orange">Medium!</span>';
} else {
strength.innerHTML = '<span style="color:red">Weak!</span>';
}
}
</script>
<input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
<span id="strength">Type Password</span>
Forcimi i kërkesës tuaj për fjalëkalim
Essentialshtë thelbësore që ju jo vetëm të vërtetoni ndërtimin e fjalëkalimit brenda Javascript tuaj. Kjo do të mundësonte cilindo që ka mjete të zhvillimit të shfletuesit të anashkalojë skriptin dhe të përdorë çfarëdo fjalëkalimi që dëshiron. Gjithmonë duhet të përdorni një kontroll nga ana e serverit për të vërtetuar forcën e fjalëkalimit përpara se ta ruani atë në platformën tuaj.
Gjeta një tjetër damë të forcës së fjalëkalimit. Algoritmi i tyre bazuar në fjalorin e fjalëve. Provoni një në microsoft.com - http://www.microsoft.com/protect/yourself/password/checker.mspx dhe një në itsimpl.com - http://www.itsimpl.com
FALEMINDERIT! FALEMINDERIT! FALEMINDERIT! Unë kam qenë duke mashtruar për 2 javë me kodin e dreqit të forcës së fjalëkalimit nga faqet e internetit të tjera dhe duke tërhequr flokët e mi. E juaja është e shkurtër, funksionon ashtu si unë dua dhe më e mira nga të gjitha, e lehtë për t'u modifikuar për një fillestar javascript! Doja të kapja verdiktin e forcës dhe të mos lejoja që postimi i formularit të azhurnonte fjalëkalimin e përdoruesit nëse nuk plotëson testin e forcës. Kodi i të tjerëve ishte shumë i ndërlikuar ose nuk funksiononte si duhet ose diçka tjetër. Unë të dua! XXXXX
Ju jeni të mirëpritur! Ju jeni të mirëpritur! Ju jeni të mirëpritur!
Edhe unë të dua!
falënderoj zotin për njerëzit që në të vërtetë mund të shkruajnë një pjesë të kodit siç duhet.
Kishte të njëjtën përvojë si Janis.
Kjo funksionon menjëherë jashtë kutisë, e cila është perfekte për njerëz si unë që nuk mund të kodojnë javascript!
Faleminderit që keni shkruar një pjesë të kodit që bën pikërisht atë që thotë në kanaçe!
Përshëndetje, së pari falënderoj shumë për përpjekjet tuaja, unë u përpoqa ta përdor këtë me Asp.net por nuk punova, po përdor
në vend të etiketës, dhe nuk funksionoi, ndonjë sugjerim ?!
Për në Nisreen: kodi në kutinë e theksuar nuk funksionon me një pastë të prerë. Citimi i vetëm është ngatërruar. Kodi i lidhjes demonstruese është mirë.
Hej, më pëlqen skenari yt! Unë e kam përkthyer atë në Hollandisht, dhe e kam postuar në forumin tim këtu!
Punë e mrekullueshme! saktësisht se si duhet të bëhet tek klienti
punë shumë e bukur.
Faleminderit Douglas, e përdor për punën time aktuale.
"P @ s $ w0rD" shfaqet në mënyrë të fortë, megjithëse do të goditej mjaft shpejt me një sulm dictionnary
Për të vendosur një tipar të tillë në një zgjidhje profesionale, besoj se është e rëndësishme të kombinohet ky algoritëm me një kontroll dictionnary.
Punon shkëlqyeshëm në XULRunner me pak ndryshime përreth. Faleminderit!
Faleminderit për këtë kod të vogël tani mund ta përdor për të provuar forcën e fjalëkalimit tim kur vizitorët e mi. Fut fjalëkalimet e tyre,
Një pjesë e madhe e kodimit
Skenari ishte super .Kisha përdorur në projektin tonë aktual
Faleminderit për ndarjen!
Shprehje kaq e thjeshtë dhe fantastike. Unë si testues nxori TC-të e mia nga kjo shprehje.
Faleminderit për ndarjen. Ju keni disa lidhje të prishura në këtë faqe. FYI
dikush mund të tregojë, pse nuk funksionoi e imja ..
kam kopjuar të gjithë kodin dhe e ngjis në notepad ++, por nuk funksionon fare?
të lutem më ndihmo..
Fantastike !!!!! Faleminderit.
Djalë i shkëlqyeshëm për punë! E thjeshtë dhe efektive. Faleminderit shumë për ndarjen!
faleminderit
Mirë, thx. Por… Cili është një shembull i një PW të FORT? 'nuk mund ta gjej një të tillë! - {}
Ky lloj i "kontrollorit të forcës" i çon njerëzit në një rrugë shumë të rrezikshme. Ai vlerëson shumëllojshmërinë e karakterit mbi gjatësinë e frazës, duke e çuar atë të vlerësojë fjalëkalimet më të shkurtra, më të larmishme, si më të forta se sa fjalëkalimet më të gjata, më pak të ndryshme. Ky është një mashtrim që do t'i sjellë përdoruesit tuaj në telashe nëse ata përballen ndonjëherë me një kërcënim serioz hakimi.
Nuk jam dakord, Jordan! Shembulli u paraqit thjesht si një shembull i skenarit. Rekomandimi im për njerëzit është që të përdorin një mjet të menaxhimit të fjalëkalimit për të krijuar fraza kalimi të pavarura për çdo faqe që është unike për të. Faleminderit!
faleminderit funksionon shume mire.
Faleminderit që po punon mirë
jam me të vërtetë e vlerësoj ju jeni kontrolluar këtë shumë herë, por së fundmi kam marrë postimin tuaj dhe jam me të vërtetë i tronditur. FALEMINDERIT
Faleminderit shok. Sapo është vendosur në faqen time dhe po punon shumë mirë.
Dashuri duke dëgjuar atë! Ju jeni më të mirëpritur!
Unë e vlerësoj ju ndarjen! Kam kërkuar të rrisin forcën e fjalëkalimit në faqen tonë të internetit dhe kjo funksionoi ashtu siç dëshiroja unë. Shume faleminderit!
Faleminderit, shpresoj se mund ta personalizoni sipas nevojës.