maarc93 Posted June 16, 2015 Report Posted June 16, 2015 Kā PHP valodā izveidot paroles pārbaudi pie reģistrācijas, lai pārbauda, vai parolē ir vismaz viens lielais burts un specsimbols? Quote
ieleja Posted June 16, 2015 Report Posted June 16, 2015 http://stackoverflow.com/questions/10752862/password-strength-check-in-php Quote
maarc93 Posted June 16, 2015 Author Report Posted June 16, 2015 Paldies! Tiku galā ar šādu kodu: if(!preg_match('/[A-Z]/', $password) || !preg_match('/[\W]/', $password)){ echo "Parolei jāsatur vismaz vienu lielo burtu un vienu specsimbolu!"; } Quote
qwerty Posted June 17, 2015 Report Posted June 17, 2015 Dievs, pasargā no lapām kur liek veidot šādas paroles.. Quote
daGrevis Posted June 17, 2015 Report Posted June 17, 2015 Dievs pasarg no parolēm kuras ir viegli bruteforceot vai atkost izmantojot rainbow table. Tiesa gan, daudz prātīgāk būtu pārbaudīt ka parole ir pietiekami gara (10+ simboli) nekā pārbaudīt vai parole satur “speciālos simbolus“. Quote
qwerty Posted June 17, 2015 Report Posted June 17, 2015 Saltošana pret rainbow 8+ simboli pret brutforce, manuprāt, ir gana labi. Ja nemaldos tad Swedbank liek izmantot 8+. Quote
codez Posted June 17, 2015 Report Posted June 17, 2015 Jāuzliek cilvēcīgi ierobežojošu līdz 100 pārbaužu iespēju diennaktī un 500 mēnesī un pat 5 simbolu tikai mazo burtu paroli nevarēs brūtforsēt. Quote
daGrevis Posted June 17, 2015 Report Posted June 17, 2015 Ja tiks pie datubāzes dumpa, varēs gan. Tad nekādi ierobežojumi nestrādās. No otras puses, ja kāds ir ticis pie datubāzes dumpa, ir lielākas problēmas par iespējamu bruteforce. :) Quote
codez Posted June 17, 2015 Report Posted June 17, 2015 Ar db dumpu nepietiek, ir nepieciešams arī šifrēšanas algoritms. Bet, ja tik tiešām tiek pie šiem abiem, tad tā tiešām ir mazākā problēma. Bez tam 8 simbolu parole ar 26 burtiem veido 26^8 = 200 miljardi kombināciju. Ja uzliek šifrēšanu, kas aizņem sekundi mūsdienu CPU jaudas, tad vajadzīgi būs 6000 gadu, lai brūtforsētu pat vienu paroli. Un cik rāda statistika, tad ļoti daudz lielā burta un ciparu obligātas lietošanas gadījumā, paroli taisa Xxxxx111 formā. Un tad patiesībā 8 simbolu kombinācija dod: Xxxxxx1 - 26^7 * 10 = 80 miljardi Xxxxx11 - 26^6 * 100 = 30 miljardi Xxxx111 - 26^5 * 1000 = 11 miljardi Kopā mazāk kombināciju. Quote
ieleja Posted June 17, 2015 Report Posted June 17, 2015 nu ja vienīgā iespēja ir bakstīt paroli webformas logā, tad tā var uzlauzt tikai: parole, abc123 un vēl apmēram astoņas tāpēc pieņemam, ka ir mums 'specforums.sql' pārdesmit megabaitu izmērā algoritmu mazliet vienkāršāk atrast, ja lauznim ir savs konts tajā resursā, tad viņš zina 'user_name', 'crypted_pass' un arī 'pass' pasargāties no lapām, kur ir striktāki paroļu izveides noteikumi ir grūti, jo tās ir visas bankas, VID EDS, mansLMT daļa e-pasta kantoru u.c. vajadzīgu resursu Quote
F3llony Posted June 17, 2015 Report Posted June 17, 2015 Ar db dumpu nepietiek, ir nepieciešams arī šifrēšanas algoritms. Bet, ja tik tiešām tiek pie šiem abiem, tad tā tiešām ir mazākā problēma. Bez tam 8 simbolu parole ar 26 burtiem veido 26^8 = 200 miljardi kombināciju. Ja uzliek šifrēšanu, kas aizņem sekundi mūsdienu CPU jaudas, tad vajadzīgi būs 6000 gadu, lai brūtforsētu pat vienu paroli. Un cik rāda statistika, tad ļoti daudz lielā burta un ciparu obligātas lietošanas gadījumā, paroli taisa Xxxxx111 formā. Un tad patiesībā 8 simbolu kombinācija dod: Xxxxxx1 - 26^7 * 10 = 80 miljardi Xxxxx11 - 26^6 * 100 = 30 miljardi Xxxx111 - 26^5 * 1000 = 11 miljardi Kopā mazāk kombināciju. Tieši tāpēc bcrypt un laika faktors palielināms ik pa gadam, diviem uz katru jaunu paroles maiņu. Quote
daGrevis Posted June 17, 2015 Report Posted June 17, 2015 Gandrīz lapa bez fleima un personiskiem uzbraucieniem! Tā turpināt, kungi. :) Quote
Kavacky Posted June 17, 2015 Report Posted June 17, 2015 Dievs, pasargā no lapām kur liek veidot šādas paroles..++ Bcrypt, nevis to lower/upper/simbolu/ciparu pederastiju. Quote
briedis Posted June 21, 2015 Report Posted June 21, 2015 Ja konkrēti par parolēm PHP vidē, tad neveidojam kaut kādus savus velosipēdus (lipinam sāļus ar parolēm), bet lietojam password_* funkcijas, http://php.net/manual/en/function.password-hash.php password_hash, password_verify. Tas gan ir tikai PHP 5.5, bet nu lietot kaut ko vecāku jau tagad gan nevajadzētu... Quote
jurgenzz Posted June 26, 2015 Report Posted June 26, 2015 (edited) Man interesē, cik laba/slikta būtu šāda vienkārša js psw.length > 8 validācija? Tobiš, nelaut formai iet cauri, ja parole ir zem 8 simboliem? document.getElementById("submit").onclick = function () { var x=document.getElementById("password").value; x = x.length; if (x < 8) { alert("Password needs to be at least 8 symbols"); return false; } return true; } Edited June 26, 2015 by jurgenz Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.