All Posts in forma

2010-04-15 - No Comments!

Informacinės rodyklės 2.0


Šiuo metu vyksta Jaunųjų Liberalų Aljansas (JLA) konkursas „Idėja Vilniui!“. Nutariau sudalyvauti ir pasiūlyti savo idėją Vilniui. Būtent Vilniui, nes patys JLA man didelės simpatijos nekelia.
Visame Vilniaus senamiestyje yra išdėstytos informacinės rodyklės (žr. pavyzdį aukščiau). Kadangi objektai rodomi rodyklėse dažnai būna neaktualūs, todėl siūlau šiek tiek patobulinti šias rodykles ir gyventojams bei miesto svečiams leisti pasiūlyti kokiomis nuorodomis papildyti ar kokias nuorodas pašalinti bei kur reikėtų išdėstyti naujas informacines rodykles ir kurias pašalinti kaip nereikalingas. Tai padaryti pakankamai nesunku. Pvz. savivaldybės ar kitos institucijos puslapyje įdėti pasiūlymų formą, o ant kiekvienos informacinės rodyklės stulpo keliomis kalbomis paprašyti padėti tobulinti šias rodykles.

Kodėl tai reikalinga? Pirmiausia, kaip ir minėjau, dažniausiai rodyklės yra neaktualios, nes ieškai kito objekto. Be to, šios rodyklės yra šalia, bet ne žmonių masių judėjimo kelyje, todėl jos nėra efektyviai išnaudojamos (pvz. kaip kelio eismo ženklai). Dar viena priežastis - toks projektas beveik nekainuotų, tačiau turėtų ilgalaikę reikšmę. Galiausiai, svarbesniems miesto darbams galima būtų paskirti žmones, kurie priežiūri šias rodykles.

2010-03-04 - No Comments!

Apsaugos nuo reklamos būdai (II dalis)

Kadangi mano subjektyvia nuomone, captcha kodų naudojimas mažina naudojimosi svetainę patogumą, tęsiu galimus būdus išvengti reklamos ar flood problemas.

Alternatyvus medaus puodynių (angl. honeypot) metodas. Robotai dažniausiai stengiasi užpildyti visus rastus formos laukus. Norint apsisaugoti, yra sukuriamas žmonėms nematomas laukas su populiariu pavadinimu (pvz. email). Jei vykdant submit veiksmą, šis laukas bus užpildytas, reiškia rašo robotas ir šį veiksmą praleisti negalima. Minusas - neapsaugo nuo specialiai svetainei pritaikytų robotų.

Minimalus formos užpildymo laikas. Robotai užpildo formas žymiai greičiau nei tai padaro žmogus, todėl priklausomai nuo formos sunkumo galima nustatyti minimalų formos užpildymui skirtą laiką. T.y. jei forma siūnčiama į serverį greičiau nei nustatytas laikas, reiškia didelė tikimybė, kad tai daro robotas. Minusai: neapsaugo nuo specialiai svetainei pritaikytų robotų, nepraleis vartotojus, kurie naudoja auto-complete įrankius.

Kodo obfuskacija arba šifravimas. Baisus žodis obfuskacija (angl. Obfuscated code) reiškia kodo apsunkinimas, norint pvz. sumažinti jo analizės galimybės. Apsaugos esmė -  kodo skanavimo apsunkinimas,  šifruojant arba taikant obfuskacijos metodą. T.y. jei robotas neras formos kodo, reiškia, jis negalės užpildyti formos ir nusiųsti jos į serverį su įrašytais duomenimis. Kita vertus, vartotojai net nepastebės, kad kodas yra šifruotas. Minusai: kodas veikia šiek tiek liečiau.

Blokavimas pagal user-agent atributą. Dažnai robotai naudoja specifinius user-agent atributus, todėl galima blokuoti visus lankytojus turinčius netinkamą arba nenurodytą user-agent parametrą. Minusas: robotai dažnai naudoja naršyklių parametrus.

Dinaminis formos kūrimas. Metodo esmė - dinaminis formos sukūrimas Javascript pagalba. Veiksmingas metodas prieš daugelį robotų, nes javascript palaikymas reikalauja didesnių resursų sąnaudų. Minusas: vis dar pasitaiko lankytojų, kurių naršyklės nepalaiko Javascript, tačiau tokių lankytojų labai ir labai mažai, todėl jiems galima panaudoti <noscript> HTML atributą.

Pagalbinių servisų naudojimas. Galima naudoti 3 šalių apsaugos nuo reklamos paslauga, pvz. Akismet.

Papildomas klausimas gimtąją kalbą. Kaip bebūtų, o lietuviškai kalbančių robotų yra pakankamai mažai (jei išvis yra), todėl apsaugai nuo botų galima panaudoti papildomą klausimą. Šis metodas ypač tinka mažoms bendruomenėms. Pvz. jau apie metus nesulaukiu reklamos forume, nes į paprastą klausimą „Du plius du?“ vis dar nesulaukiau roboto atsakymo ;) Minusas: labai lengva įveikti, jei į boto pagalbą ateina žmogus.

Hibrindinis metodas. Galima panaudoti vieną iš išvardintų viršuje metodų. Ir jei dėl kažkokių priežaščių vartotojui nepavyko jo praeiti, pasiūlyti kaip alternatyvą visų mėgstamą ir mylimą Captcha.

Pastebėjimai

  • Nei vienas iš išvardintų metodų nėra nepriekaištingas ir neapsaugos nuo nukreiptos reklamos ar flood atakos, tačiau nuo 90-99 proc., o Lietuvos atveju dar didesniu procentu, apsaugos nuo kvailų robotų-vorų.
  • Įraše paminėjau tik įdėjas. Skirtingus įgyvendimus galima aptarti komentaruose.
  • Galima naudoti iškart keletą iš išvardintų metodų.

Kokius metodus dar praleidau? Captcha nesiūlyti! :)

2010-03-01 - 10 comments

Apie vartotojo vardus ir slaptažodžius (100 tinklaraščio įrašas)

Ar kada nors bandėte paaiškinti vartotojo vardo ir slaptažodžio sąvokas apie internetą ir kompiuterius mažai išmanančiam žmogui? Vakar apturėjau tokią laimę, nes teko mamai aiškinti kaip užsiregistruoti viename iš puslapių. Norėjau, kad išmoktų, todėl leidau jai užsiregistruoti pačiai. Mano mama nėra apie kompiuterius ir internetą nieko nenutuokiantis žmogus. Ji bendrauja Skype, moka rasti reikiamą informaciją Google, žiūri filmus tokiose svetainėse kaip intv.ru ir t. t. Iki šiol, jai nereikėjo niekur pačiai registruotis, nes Skype vartotoją, e. pašto adresą ir kitus būtinus internetinio žmogaus atributus sukuriau aš.  Tačiau atėjo diena, kai jai prireikė užsiregistruoti vienoje svetainėje apie maisto gaminimą.

Vakar man paaiškėjo kokios nepatogios yra registracijos formos.

Bendrai, registracijos forma, mano manymu, yra pakankamai paprasta: vardas, pavardė, prisijungimo vardas, slaptažodis (2 kartus), e. pašto adresas (2 kartus), svetainė, miestas ir gimimo metai ir captcha.

Vardo ir pavardės laukai nesukėlė kažkokių sunkumų, nors iš esmės nesuprantu jo būtinybės registracijos formoje.  Priėjus prie lauko prisijungimo vardas neradau logiško paaiškinimo dėl kokios priežasties po vardo ir pavardė įvedimo reikia sugalvoti dar kažkokį prisijungimo vardą. Be abejo, aš žinau ir suprantu, kad kiekvienas vartotojas turi būti unikalus ir tai bandžiau paaiškinti, tačiau gavau logišką klausimą: „O kodėl e. pašto adresas netinka? Jis gi unikalus.“. Iš tiesų, o kam reikalingas vartotojo vardas?

Kai galiausiai paaiškinau ir perėjom prie slaptažodžio, gavau porciją klausimų:

  • Kodėl nematau ką rašau į slaptažodžio lauką? Paaiškinus apie saugumą, sulaukiau atsakymo: „Aš gi čia vieną ir neturiu ką slėpti.“. Logiškas atsakymas, ar ne? Mano manymu, naršyklėje turėtų būti galimybė vienu paspaudimu įjungti arba išjungti slaptažodžio slėpimą įvedimo laukuose.
  • Kodėl reikia kartoti slaptažodį du kartus? Paaiškinus apie klaidos galimybę, sulaukiau klausimo: „Ar slaptažodį man atsiųs į e. paštą?“. Kai gavo teigiamą atsakymą, dar kartą sužybėjo logiką: „Taigi, jei suklysiu įvedinėdama slaptažodį, vistiek žinosiu koks jis, nes gausiu e. laišku“. Neturiu argumentų prieš šį pasisakymą. Mama teisi.
  • Kodėl man rašo, kad slaptažodis per trumpas? Dar kartą paaiškinau apie saugumą ir vėl sulaukiau kontrargumentų: „Man jokio skirtumo ar parinks slaptažodį ir pavogs mano prisijungimo vardą. Dar kartą užsiregistruosiu.“. Mama eilinį kartą buvo teisi. Jei vartotojui nesvarbu, kad pavogs jo vartotojo vardą ir jis nori tiesiog naudotis paslauga ir turėti lengvai įsimenamą slaptažodį, kodėl puslapio kūrėjai turėtų jam uždrausti tai daryti?
  • Kodėl man rašo, kad slaptažodyje naudojami neleistini simboliai? Paklausiau kokį slaptažodį jį panaudojo. Pasirodo mama buvo įrašiusi slaptažodį rusiškomis raidėmis ir vienoje vietoje buvo tarpas. Vėlgi pritrūkau logiškų argumentų. Kodėl beveik visuose puslapiuose negalima naudoti nelotyniškų raidžiu ir tarpų? Mano manymu, slaptažodis „Myliu mamą“ yra patogesnis už „das754dAs7daswe“, o šių slaptažodžių saugumo lygiai yra daugmaž vienodi. Gal laikas keisti slaptažodžius į slaptas frazes?

Kitus laukus mes gan greitai užpildėm ir be jokių kazusų. Reikėjo pabaigoje paaiškinti kas yra captcha kodas ir kodėl sistemai reikia įrodinėti, kad nesi kupranugaris robotas.

Iš mano patirties, galiu pasakyti, kad registracijai užtektų tik e. pašto ir slaptažodžio laukų. Visą kitą vartotojas turėtų supildyti jau užsiregistravęs, o captcha kodai išvis, mano manymu, nereikalingi. Sistema turi atpažinti žmogų, jam nedalyvaujant.

Straipsniai

2009-11-11 - 6 comments

CAPTCHA kitaip

captchaCAPTCHA kodai skirti apsaugoti nuo automatinės robotų registracijos ar kitos formos užpildymo, bet neretai pasitaiko, kad CAPTCHA „apsaugo“ ir nuo pačių žmonių, kurie tiesiog nesugeba praeiti apsaugos. Labiausiai trukdo būtinybė į tekstinį lauką įrašyti kodo tekstą. Šis žingsnis, mano manymu, nėra patogus. Būtų galima vartotojui tiesiog pasirinkti vieną iš užrašymo variantų. Saugumo šis pakeitimas labai nesumažintų, o žmonėms būtų patogiau.