» »

ID key (ključ) v url-ju - varnost?

ID key (ključ) v url-ju - varnost?

Beezgetz ::

oi

imamo kopijo podatkov uporabnikov v mysql bazi, recimo imamo ime priimek in email.
bazi smo dodali kolumne kot so recimo spol, zanimanje, itd, plus vsakemu uporabniku dodelili kljuc.

postavili smo formo na spletno stran (php), in ideja je da vsem uporabnikom razposljemo email,
v emailu damo povezavo (link) do forme in v tem linku bi bil kljuc tega uporabnika,
kar forma dobi kot GET zahtevo (ker ne znamo ali se ne da posiljat POST samo iz linka),
in na formi bi se ze avtomatsko izpisali uporabnikovi podatki ki jih ze imamo v bazi,
in bi tako izpolnil samo manjkajoca polja. point tega je da je user friendly.

in ko uporadnik pride na formo, lahko v url-ju spremeni ta kljuc v kljuc drugega uporabnika,
in dobi podatke tega drugega uporabnika.
recimo da je kljuc uporabnika Miha miha, uporabnika Brane pa brane.
miha dobi email, klikne link in pride na formo.
tam zamenja url: www.obisci.nas/forma.php?kljuc=miha
z: www.obisci.nas/forma.php?kljuc=brane
in dobi branetove podatke, ki jih lahko spreminja.

vprasanja:
1/ kako bi, v bistvu samo s klikom na link v emailu, uporabnik prisel na formo s pred-vnesenimi podatki, kjer bi jo dopolnil in poslal, a da je varno?
2/ ali kateri cms/crm/... to omogoca?
3/ je ta ideja s kljucem dokaj varna? koliko naj je dolg kljuc? treba je pazit se na ta % konverz, toda velike/male crke ter stevilke je dosti varno, dolgo je lahko koliko, 256 karakterjev?

hvala
GNU/Linux,
ker si raje lastim svobodni OS,
kot da ukradem tistega ki ni vreden svojega denarja.
  • spremenil: Mavrik ()

Gandalfar ::

3. poglej si GUID koncept: Globally unique identifier @ Wikipedia

Beezgetz ::

zivijo Gandalfar,

aha pod Common uses pise:
Database developers and administrators often use GUIDs as primary keys for database tables to ensure uniqueness between databases.

to bo po mojem to, pa samo toliko, gandalfar, hitrejsi si od strele: hvala^hvala
GNU/Linux,
ker si raje lastim svobodni OS,
kot da ukradem tistega ki ni vreden svojega denarja.

arjan_t ::

Nimas user logina da bi te dve stvari povezal?

Beezgetz ::

arjan zivijo,

zal te opcije ni, zatorej cela sarada...
imas kaksno opcijo?

hvala
GNU/Linux,
ker si raje lastim svobodni OS,
kot da ukradem tistega ki ni vreden svojega denarja.

Zgodovina sprememb…

  • spremenil: Beezgetz ()

misek ::

Namesto ključa v obliki imena uporabi naključno generirano vrednost, ki se ne ponovi. Kot je predlagal Gandalfar uporabi GUID vrednost. Nato namesto imena uporabiš to vrednost
http://www.obisci.nas/forma.php?kljuc=FE5E9F1B-CCDF-4FC9-AEC0-819EE204793E
S spreminjanjem kljuca kar tako na roke ne bo možno dobiti podatke od drugega uporabnika.
Lahko pa zraven ključa dodaš tudi druge parametre
http://www.obisci.nas/forma.php?kljuc=FE5E9F1B-CCDF-4FC9-AEC0-819EE204793E&uporabnik=miha

arjan_t ::

Kot predlagano naredi s tokeni (dejansko zelo podobno kaksni email aktivaciji).

Ce bos za token izbral UUID definitivno verzijo 4 (ce je implementirana s primernim RNG), v drugem primeru pac samo generiras dovolj bitov s primernim "crypto" generatorjem.

Tu bi se dodal:
- token se izbrise ko se 1x forma uporabi
- token ima omejeno casovno veljavnost
- za vsak poslan mail se generira nov token, ce je mozno se invalidira token ki je bil poslan v prejsnjem mailu

Beezgetz ::

zivijo klika,

tako, se vsi nagibamo k temu da nek dolgo zgeneriran kljuc, mirno varen.

sem pa tudi sam ze razvijal teorijo, tako kot je misek predlagal, da bi imel dva tokena, kar bi otezilo vdiranje, pa tole kar je arian na koncu dodal se lahko se s tem poigramo...


momci, se enkrat hvala, mislim da smo prisli stvari do dna.
GNU/Linux,
ker si raje lastim svobodni OS,
kot da ukradem tistega ki ni vreden svojega denarja.

arjan_t ::

z dvema tokenomaa ne pridobis nic, ce ze podaljsas prvi token


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

WebAuthn: bodo gesla na internetu kmalu preteklost? (strani: 1 2 )

Oddelek: Novice / Brskalniki
5417971 (14545) Truga
»

C# - runtime generiranje in klicanje kontrol

Oddelek: Programiranje
71101 (857) stalker
»

Wordpress custom plugin

Oddelek: Izdelava spletišč
16922 (767) Gandalfar
»

ASP.NET (C#) - Pomoč

Oddelek: Izdelava spletišč
131060 (837) Denisj
»

HTTP POST

Oddelek: Programiranje
231670 (1446) kopernik

Več podobnih tem