USE*LOG použiteľnosť a prax
Hlavné menu: Hlavná stránka  |  Článok  |  Všetky články  |  USE*LOG & Autor  

Alternatívna autorizácia, časť 1/4: Koncepcia
autorizácie

[K] komentáre (13) [T] verzia pre tlač

Autor článku

Ján 'Johno' Suchal

Ján 'Johno' Suchal

Autor študuje softvérové inžinierstvo na FIIT STU v Bratislave. Rutinnej práci sa snaží vyhýbať a vo voľnom čase sa venuje najmä programovaniu a raftingu. Zaujíma sa o umelú inteligenciu, agilné metódy programovania a webdesign. Viac o autorovi.

Určite sa Vám to už stalo. Niekto napísal komentár pod Vašim menom. Čo s tým? Vysvetľovať? Na to nemá chuť asi nikto. Moderovať všetky príspevky? Tak padá príliš ťažké bremeno na moderátora. Ten navyše nemôže vždy vedieť, či ste nejaký komentár napísali v zlej nálade vy, alebo v dobrej nálade nejaký zlomyseľný vtipkár.

Znechutenie ako úvod

Poznám web logy, ktoré sa to snažia riešiť klasickou registráciou. Človek vypĺňa zdĺhavé formuláre, vymýšľa užívateľské mená, ktoré nie sú obsadené. Rozmýšľa, ktoré zo svojich piatich hesiel tam použije, a obáva sa, či si naň spomenie pri ďalšej návšteve. Vytvorí, niekedy aj overí konto, na ktoré sa neskôr prihlási a až potom môže komentovať. Je to peklo. Som na to príliš lenivý a nenávidím to. Ja predsa nechcem podstupovať takúto tortúru na každom web logu, len aby som mal záruku, že pod mojim menom nebude písať nikto iný. V istom momente som si povedal dosť a začal uvažovať ako to zjednodušiť.

Po nekonečných diskusiách s Martinom Cohenom a niekoľkých bezsenných nociach sme vymysleli riešenie, o ktorom si myslíme, že stojí minimálne za publikáciu.

Prvotná myšlienka

Idea tohto systému stojí na emailovej adrese. Vo väčšine prípadov totiž platí, že jednu emailovú adresu má jeden človek. Alebo inak, ku správam v jednej emailovej schránke má prístup iba jeden človek. Bingo! Máme niečo, od čoho sa dá odraziť. Užívateľovi zašleme email, pomocou ktorého bude môcť potvrdiť to, že komentár napísal práve on. Nikto iný to potvrdiť nemôže, lebo ako predpoklad berieme to, že emailová adresa patrí jednému človeku. Od tohto momentu je to teoreticky vyriešené a všetko čo bude nasledovať, sú detaily užívateľského rozhrania a implementácie.

Základné užívateľské scenáre

  • Návštevník stránky zadá svoju emailovú adresu, komentár a odošle ho. Takto je to jednoduché, logické a väčšina z nás je na to zvyknutá. Na túto adresu navyše príde potvrdzovací email, v ktorom sa nachádza špeciálny odkaz. Týmto odkazom je možné pravosť komentára potvrdiť.
  • Zlomyslený návštevník zadá cudziu emailovú adresu, komentár a odošle ho. Problém je v tom, že takýto komentár musí schváliť osoba, ktorá emailovú adresu naozaj vlastní a tá to neurobí. Email jednoducho ignoruje.

Predchádzajúce dva scenáre síce úplne zabezpečujú pravosť obsahu pod Vašim menom (emailom), ale majú ešte ďaleko od rozumného komfortu. Komu by sa chcelo takto potvrdzovať každý jeden komentár? Veď si len predstavte to, že na Vašom obľúbenom blogu ich za týždeň napíšete niekoľko desiatok.

Druhý pohľad na užívateľské scenáre

Z vlastných skúseností vieme, že z dvoch typov lokalít:

  • Komentár píšete z prehliadača, na ktorý máte prístup iba vy. Napríklad doma, v práci alebo na svojom konte v škole.
  • Komentár píšete z prehliadača, na ktorý má prístup aj niekto iný. Klasickým príkladom je internetová kaviareň.

Prvý prípad je niečím podobný hlavnej myšlienke systému. Opäť vieme, že jeden prehliadač patrí jednému človeku. Ak vieme, že z takéhoto prehliadača, prišla čo i len jedna úspešná autorizácia, môžeme prehlásiť, že všetky komentáre, aj tie budúce, sú autorizované. Čiže už neautorizujeme len komentár, ale spoločne s tým aj prehliadač (lokalitu), z ktorého prišiel. A to stačí urobiť raz. Toto už znie oveľa užívateľsky príjemnejšie.

Ako však zistiť, či je prehliadač prístupný verejne alebo sa používa privátne len jedným človekom? Jediná možnosť je opýtať sa priamo komentujúceho. Na prvý pohľad to možno vyzerá ako komplikácia, avšak niečo veľmi podobné je úplne bežné – funkcia “Zapamätaj si ma”. To je však už úlohou užívateľského rozhrania. Viac sa o ňom dozviete v tretej časti tohto seriálu od Martina Cohena.

Druhý prípad je trochu iný. Nikdy si nemôžeme byť celkom istý, či si po nás za ten istý počítač nesadne nejaký zlomysleník. Treba preto platnosť takejto lokality obmedziť len na dobu, počas ktorej sme tam boli naozaj iba my. Od návštevníka je potrebné vynútiť odhlásenie zo systému, čo však v prípade web logov asi nie je úplne štandardné a pochopiteľné. Preto sme určili aj nejakú dobu od poslednej akcie návštevníka, dochádza k automatickému odhláseniu. Schvaľovanie takto napísaného komentára ako aj dočasnej lokality s ním spojenej sa potom deje rovnakým spôsobom, opísaným v základných užívateľských scenároch.

Zhrnutie koncepcie

V našom systéme zavádzame alternatívny spôsob potvrdzovania. Potvrdzovanie autorstva komentárov a s ním spojené potvrdzovanie prehliadačov/lokalít. Každý komentár je totiž jednoznačne identifikovaný lokalitou a emailovou adresou. Lokalita môže byť privátna/dlhodobá alebo verejná/dočasná. Ak užívateľ potvrdí komentár, tak potvrdí aj svoju lokalitu, čím sa automaticky schvália všetky, aj budúce, komentáre z nej.

V druhej časti tohto seriálu sa budeme venovať implementačným detailom tohto riešenia.

Ďalšie články seriálu:

(K) komentáre (13)

[RSS] RSS komentárov (i)komentáre sú moderované
 

16.02.2006 o 12:24

1. Autor: matah

pekny clanok, mam 1 otazku. “nejakú dobu od poslednej akcie návštevníka, dochádza k automatickému odhláseniu” > skript sa vykona automaticky za niekolko dni na servery? alebo treba poslat rucne nejaku poziadavku na pretriedenie.. inak chyba mi tam, ze kto pisal ten clanok, ale myslim ze to sa uz bude riesit tym avatarom…


16.02.2006 o 13:08

2. Autor: crowen

pekne riesenie, jednoduche a elegantne. za autora by som tipoval Johna…


16.02.2006 o 21:14

3. Autor: octopuss

články dobré, až sa človek bojí že si zvykne a “oni” ich prestanú vydávať


17.02.2006 o 11:41

4. Autor: hvge

Matah: prve co ma napadlo, je limitovana zivotnost session (alias cookie)

Inak pekny clanok, zatial som tu netestoval scenare, kedy preinstalujem pocitac, alebo sa necham zapamatat na viacerych miestach (doma/praca), ale, sudiac podla echa o silnom testovani, na to j+mc asi mysleli :)


17.02.2006 o 16:46

5. Autor: crowen

so zapamatovavanim na roznych miestach je to ok, ja to mam zapamatane v praci aj doma a je to ok


18.02.2006 o 23:46

6. Autor: moonlight

Cele to vyzera pouzivatelsky atraktivne ale mam z toho celeho zly pocit. Avsak aktualne uz nemam energiu a otestovanie scenarov nepouzitelnosti. Samozrejme pri zabezpecovani niecoho takehoto je potrebne sa na to divat z pohladu urovne zabezpecenia. Ale tento system je nepouzitelny ak vyzadujem vyssiu mieru zabezpecenia. O co vsak autorom asi neslo.


20.02.2006 o 12:36

7. Autor: johno

moonlight: Asi ťa najskôr zmiatol názov “autorizácia”. Uznávam, že to je trochu neštastné pomenovanie. V programátorkej brandži je to, o čom tu píšem známe ako autentifikácia. Pojem autorizácia je naozaj skôr o riadení prístupu.

Dá sa to však chápať aj z opačného konca. Takto vlastne, aj keď nepriamo, zabranuješ prístupu ku komentovaniu pod iným menom.

No a aby som to ešte úplne zamotal, tak jeden praktický príklad: Redaktor spraví s niekým rozhovor, spíše ho a dá ho tomu človeku autorizovať. No a teraz hádaj čo sa tým myslí. Pokiaľ viem tak to, že či ho môže zverejniť.

Pravdou však stále ostáva, že tento celý systém nie je o riadení prístupu, ale skôr o autentifikácii. Z “redaktorského hľadiska” je to však stále o autorizácii komentárov.

Kto mi pomôže rozlúsknuť tento oriešok?


22.02.2006 o 15:04

8. Autor: filer

Možno to hľadané slovo je autorizovanie. Teda “koncept autorizovania”.


22.02.2006 o 15:59

9. Autor: ehmo

z mojho pohladu super clanok, dobry napad matah myslim ze to bude asi riesene cez docasnu platnost cookies, urcite je to dostacujuci sposob.

moonlight neviem preco ale mna nenapadlo nic zlozitejsie, je mozne ze clanok bol do dnesneho dna upraveny a tak reagujem na nieco ine, ale myslim si ze komentare napr pri blogu skutocne nepotrebuju lepsi sposob autentifikacie uzivatela.

johno & mc velmi dobry clanocek, gratulujem


22.02.2006 o 16:51

10. Autor: johno

filer: Znie to divne. To slovo podľa mňa v slovenčine ani neexistuje.

Konzultujem tu slovník cudzích slov a vyzerá to tak, že nakoniec to je dobré pomenovanie.

autorizácia – autorov súhlas na vydanie jeho diela, prípadne jeho úpravu, preklad a pod.

ehmo: Treba jasne rozlišovať medzi riadením prístupu a autorizáciou obsahu. Ako už Martin spomínal, konkrétne to bude vysvetlené v záverečnom dieli seriálu. Nepredbiehajme.


22.02.2006 o 17:13

11. Autor: matooo

Zatiaľ to vyzerá celkom fajn, som zvedavý na daľšie časti. Ako celok sa to bude lepšie hodnotiť a komentovať.


22.02.2006 o 17:24

12. Autor: w1k

Podla mna tuto problematiku lepsie rozobral Michal Truban..

http://www.itnews.sk/buxus_dev/generate_page.php?page_id=36446


22.02.2006 o 17:32

13. Autor: johno

w1k: Pozrel som si ten článok, čo linkuješ, ale bohužial rieši niečo úplne iné. Ide v ňom o skvalitnenie diskusie, čo je diametrálne odlišná problematika od zabezpečenia identity. Môj článok je teda o niečom inom.

Podľa mňa si to asi vôbec nepochopil, čo mi je hrozne ľúto, lebo lepšie to napísať naozaj neviem.


povinné

Pre zabezpečenie pravosti Vašich komentárov je potrebné zadať Vašu e-mailovú adresu. Na adresu Vám bude doručená správa s odkazom, ktorým potvrdíte pravosť komentárov. Systém takto ochráni Vašu identitu pred zneužitím.

Email musí byť vyplnený, ak je pole „Zapamätaj a zabezpeč“ zaškrtnuté. Email musí mať správny formát.
E-mail nebude publikovaný.
Použite na počítači, kam máte prístup iba vy. (doma, v práci)

povinné Komentár musí byť vyplnený.
*strong*, @code@, "Google.com":http://www.google.com/ – Google.com
Toto pole nevypĺňajte, prosím: