Gå til innhold

login system med kodekort


Anbefalte innlegg

Hei

 

er det noen som har peil på hvordan man

lager et login system med kodekort, lignende det nettbanker bruker.

 

(logge inn med bruker & pass.

bruker blir bedt om å taste inn en kode fra kodekortet.)

 

jeg har lett rundt omkring på nettet med finner ikke noe sånt.

 

Noen som har tips?

 

thx

 

CD

Lenke til kommentar
Videoannonse
Annonse

slik eg har forstått det, er alle disse kodekortene registrert i en database, og blir etterhvert registrert opp mot brukere. egentlig veldig enkelt å lage, om man

setter i gang kreativiteten. ;)

 

slik eg ville gjort det var å opprette en tabell med kodekort(nummer og bruker),

og en tabell for koder(kode, kodekort og om det er brukt) og deretter knyttet hver enkelt kode opp til et kodekort. deretter er det bare å bruke en sql query for å få ut

det aktive kodekortet for en bruker, og deretter den første koden som ikke har blitt

brukt enda.

 

og om du ikke ønsker at et kodekort skal bli brukt opp er det bare å hente ut for eks

random kode fra tabellen, og spør om den koden. :thumbup:

Lenke til kommentar

du lager noe som tar en kode og deretter spør om en kode til EKS i php:

 

$input = $_POST['kode1'];

$input2 = $_POST['kode2'];

$pass = md5($username . $input);

$username = $_POST['username'];

if($input2 = $pass){

//inne

}

else{

//login failed

}

Endret av hotstian
Lenke til kommentar

Vil tro at nettbanken ikke lagrer alle kodene i sine databaser, siden det gjør at om noen bryter seg inn i databasen, ligger alle kodene for dagen. Tror heller at de har en algoritme som regner ut alle kodene, og så er det en variabel som er unik for hver bruker som gjør at kodene blir unike.

 

En annen genial sikkerhetsløsning er f.eks. de RSA-brikkene, der det deles opp i en ekstern enhet som kunden har og en bit som ligger på serveren. Den eksterne har en veldig nøyaktig klokke, en algoritme og et display som viser et kodetall. Det kodetallet genereres med samme algoritme på serveren, med tid som en variabel. Derfor vil du se at kodetallet endrer seg på den eksterne enheten over tid. Det gjør det enda vanskeligere å bryte seg inn. :)

Lenke til kommentar
En annen genial sikkerhetsløsning er f.eks. de RSA-brikkene, der det deles opp i en ekstern enhet som kunden har og en bit som ligger på serveren. Den eksterne har en veldig nøyaktig klokke, en algoritme og et display som viser et kodetall. Det kodetallet genereres med samme algoritme på serveren, med tid som en variabel. Derfor vil du se at kodetallet endrer seg på den eksterne enheten over tid. Det gjør det enda vanskeligere å bryte seg inn. :)

Det er faktisk en slik sikkerhetsløsning som blir brukt hos Nettbanken i dag. :)

Lenke til kommentar
En annen genial sikkerhetsløsning er f.eks. de RSA-brikkene, der det deles opp i en ekstern enhet som kunden har og en bit som ligger på serveren. Den eksterne har en veldig nøyaktig klokke, en algoritme og et display som viser et kodetall. Det kodetallet genereres med samme algoritme på serveren, med tid som en variabel. Derfor vil du se at kodetallet endrer seg på den eksterne enheten over tid. Det gjør det enda vanskeligere å bryte seg inn. :)

Det er faktisk en slik sikkerhetsløsning som blir brukt hos Nettbanken i dag. :)

Visste ikke at nettbankene hadde tatt slikt i bruk enda, men min far bruker ihvertfall en RSA-brikke for autentisering mot jobbnettverket (VPN hjemmefra). Flott at nettbankene begynner å få enda bedre sikkerhet, da, bare synd at skandiabanken fremdeles bruker kun pin-kode og SSL-sertifikater. Er jo mulig å få nytt sertifikat tilsendt via SMS, og da kan det umulig være vanskelig å snatche kontoen til en stakkar. :thumbdown:

Lenke til kommentar

vel, kan jo enkelt ta og lage en database som ser slik ut:

 

CREATE TABLE `login_codes` (
 `code_id` int(11) NOT NULL auto_increment,
 `userid` varchar(32) NOT NULL default '',
 `code` varchar(32) NOT NULL default '',
 `used` enum('0','1') NOT NULL default '0',
 PRIMARY KEY  (`code_id`)
) TYPE=MyISAM AUTO_INCREMENT=1;

 

så generer du feks. 50 koder pr. bruker.

du lager en md5 hash av brukerid + brukernavn (+ email) som du lagrer i userid.

så lagrer du en md5 hash av koden i code, used setter du til 1 hver gang noen bruker en kode.

så hver gang en bruker skal logge inn henter du bare bare ut alle kodene til brukeren, finner den første som ikke er brukt, forteller brukeren vilken kode dette er, når brukeren har (forsøkt) og logge inn, markerer du denne koden som brukt og ikke lengre er valid for å logge inn med.

finner du ingen koder som brukeren kan bruke kan du ha et system at brukeren ber om nye koder.

Selv om noen skulle få tilgang på din database vil dem kun finnne en tabell med brukerinfo hvor passord er kryptert, og en tabell med masse krypterte koder og bruker hasher.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...