Jump to content
php.lv forumi

par login sistēmu


labaiss

Recommended Posts

Labdien,

Zinu, ka kaut, kas līdzīgs ir cilāts, bet meklēju&lasīju (šeit forumā) rezultātu neguvu!

 

Tā tad - Kā izveidot DROŠU login sistēmu?(protams idejiski tikai)

 

Mans domu gājiens:

 

1. DB glabājas user_name un hash(password) -> Uzreiz jaut.- Kā vislabāk hashot? (ar md5 vai kādu sha ?)

 

2. Pie ielogošanās pārbaudam vai username un password ir DB - Ja rezultāts TRUE, tad protams turpinam.

 

3. Izveidojam randomHash un saglabājam to tabulā "123" kopā ar attiecīgo ID un laiku (ielogošnās).

 

4. Ievietojam sesijā random Hash un ID.

 

5. Kad veram vaļā slepeno lapu no sesijas ņemam ID un randomHash pārbaudam vai tabulā "123" atrodas ID ar šo hashu un laiks nepārsniedz piem., 30min

- ja pārsniedz nerādam slepeno lapu

- ja nepārsniedz updeitojam ar šī brīža laiku

 

Man jau tagad laikam liekas ka domāju nepareizi....

 

 

P.S. VNK - Kā pareizi to veidot? Jo manuprāt, vnk pārbaudīt DB vai pastāv username un password, un tad tos ierakstīt sesijā un katru reizi vnk pārbaudīt vai sesijā ir kaut kas ir pārāk vienkārši, lai būtu droši :D - ja kļūdos labojiet.

 

 

+

 

Varbūt kādam ir kāds links uz kādu tutoriāli&rakstu?

Edited by labaiss
Link to comment
Share on other sites

1. DB glabājas username, salt, paroles transformācija. Paroles transformāciju vēlams saprātīgā veidā izveidot tādu, lai tā būtu pietiekami unikāla tavai sistēmai. Piemēram: hash_hmac('sha256',hash_hmac('gost',$password,$salt,true),$password,false);

2. Jā

3. īsti neredzu lielu jēgu iesaistīt DB šādā veidā. Ja jau sesija tad sesija, protams, vari visu sesijas glabāšanas mehānismu pārnest uz DB.

4. skat. 3.

5. skat. 4. ;)

 

Problēmas:

Pie ielogošānās pa tīklu ceļo nešifrēta parole.

Pēc ielogošanās, pietiek uzminēt/nozagt/izvilināt SesijasID un tiec sistēmai klāt kā attiecīgais lietotājs.

Link to comment
Share on other sites

Kas tā par slepeno lapu, kurai jābūt piesietai 30 minūtes bez update?

Lapai nav jābūt nemaz tik slepenai, ja pareizi uzturi kontaktu ar lietotāju. Slepenums var būt uzģenerētam failam, bet ne nau failā, kurā ir būts, pat ja tā sesija ir mirusi jau.

 

labi nevis slepenā, bet parastā lapa.

 

Doma ir vnk tāda, ja lietotājs atstājis kompjūteru un neaizvēris browseri, tad sliktais lietotājs pēc 30min tāpat neko navarēs izdarīt pieejot pie ši kompjūtera.

 

ĻOTI iespējams, ka es kļūdos - tapēc lūdzu pasaki, kā tu darītu, kā darīt pareizi? vai nedarīt vispār :)

 

paldies.

Link to comment
Share on other sites

Doma ir vnk tāda, ja lietotājs atstājis kompjūteru un neaizvēris browseri, tad sliktais lietotājs pēc 30min tāpat neko navarēs izdarīt pieejot pie ši kompjūtera.

 

ĻOTI iespējams, ka es kļūdos - tapēc lūdzu pasaki, kā tu darītu, kā darīt pareizi? vai nedarīt vispār :)

Nevajag sliktajam lietotājam tādu iespēju dot. Lietotājam lietojot kādu kontu ir jāapzinās, ka kaimiņš pienākot pie viņa neaizvērtā pārlūka to varēs, -> pašam jāsaprot, ne Tev par to jāgādā. Brīdināt vari ar kādu tekstu, protams, bet ne Tev tas jārisina.

Ja baigi gribi čekot vai tiešām pie datora to 30 minūšu laikā netika nekādas darbības (pārlūka lapā) veiktas, dari to kaut vai ar javascript.

Edited by mounkuls
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...