FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Har WN som tidsfördriv
|
Tjena!
Först nu har jag börjat tvivla eller inse att min egen skrivna funktion för inloggning inte är så bra som den MÅSTE vara. Skrev den för ett år sen med hjälp av en tutorialsite. Mina kunskaper om PHP har höjts rejält under året och först nu när jag lägger tanken på det så känns den inte så bra. så här ser koderna ut: PHP-kod:
Och nej, jag kör inte md5 på lösenorden än.. vill först fixa till systemet.. ![]() Tacksam för svar och idéer ![]() Ha en trevlig afton! //Philip Andersson! |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Supermoderator
|
Att inte köra krypterade lösenord är nog faktiskt den största bristen i ditt system så det kan du nog fixa till
![]() Trial and error kan givetvis alla botar köra, vill du stoppa den möjligheten får du blockera användaren efter ett visst antal felaktiga inloggningar. Huruvida det är lönt eller inte beror väl mest på hur känslig informationen i administrationen är. Sedan beror det ju lite på hur kollen på administrationssidorna ser ut. Stripslashes? Magic quotes? Ska du ha en magic quotes-koll så lägger du det lämpligtvis i en inkluderad funktion istället.
__________________
Full-stack developer, free for smaller assignments Senast redigerad av tartareandesire den 2010-02-16 klockan 19:47 |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Som sagt, du bör använda SHA1 + salt på lösenordet.
Nästa förbättring är att du lägger på ett till fält (INT) i databasen, kan kalla det för "tries", och för varje misslyckat lösenord ökar du och updaterar databasfältet tries med 1, vid t.ex. 5 misslyckade försök sätter du tries-fältet till (time() + 1800) (för 30 min. låstid) Innan varje inloggning kollar du sen typ: IF (tries > time() ) die('Your account has been locked due to too many failed login attempts') Vissa grupper, t.ex Admin bör inte skyddas av tries-låsningen, annars kan någon medvetet låsa ute Admin. Ovan är det enklaste och, med mina ögon, bästa sättet att hantera felaktiga inloggningar. Vill man göra det ännu svårare för botar/hackers måste man skapa en separat tabell där man även kontrollerar antal försök per IP-nr. Senast redigerad av SimonP den 2010-02-16 klockan 22:43 |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
Tack för era svar, smarta idéer
![]() Ni tror inte det skulle kunna passa med tex recaptcha innan varje inloggning? (ungefär 1gång om dagen) eller kan bottar, hackers komma förbi den med på något vis? Tackar igen för era svar! ![]() |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Citat:
Googla bara först så du vet att din captcha inte är "knäckt". Edit: å andra sidan, eftersom det är få användare och om du har ett bra lösenord så behöver du ju inte göra nått? Det är ju inte så att nån kan bruteforca ett bra lösenord... Senast redigerad av SimonP den 2010-02-16 klockan 23:48 |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Lite simpel referenskod i ungefär samma login gjord i OOP fast me sha1 o salt.
Bör ej användas rakt av!!! login.php PHP-kod:
PHP-kod:
Senast redigerad av tartareandesire den 2010-02-17 klockan 00:31 Anledning: Kommentarer som leder OT |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Klarade millennium-buggen
|
Vad händer med din inloggning om jag inte har något att skicka? Dvs om $_POST['user'] är tom.
Detta beror helt och hållet på hur felhanteringen i php.ini & scriptet är inställd |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Banned
|
Ser inga fel, men du bör ju köra något slags:
PHP-kod:
|
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Hej, jag är ny här.
|
Humor från StateCollapse igen?
http://www.cout.se/php/918-inloggings-funktion-php.html Han är väl admin på den sidan, eller har youheardit tagit över och blivit skitsofren? |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
![]() Och sen Sprite: Avstängd för tillfället... ![]() |
||
![]() |
![]() |
Svara |
|
|