Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
kristoaun
HV kasutaja
liitunud: 01.01.2007
|
08.03.2008 16:05:09
Kuidas ikkagi üks korralik autentimine käib? |
|
|
Kuidas ikkagi üks korralik autentimine käib?
kasutaja sisestab input väljadele kasutajanime ja parooli
kui välja väärtus muutub tehakse hidden väljadele sha1 hash javascriptiga.
kui kasutaja vajutab submit, siis puhastatakse kasutajale nähtavad väljad ja alles jäävad ainult username ja passwordi sha1 räsi.
php'ga kontrollin mysql tabelist kas sqlpassword = htmlpassword ja sha1(sqluser) = htmluser.
Ja siit edasi ei oska nagu midagi tarka teha.
Variandid:
htaccessiga turvatud login areasse suunamine. Ei taha, sest see on failipõhine ja .htaccess ei pidanud eriti turvaline kah olema (fail pidi liiga kergesti kättesaadav olema).
$_SESSION['kasutajaonsisseloginud'] = TRUE ja constjah = TRUE ei taga ju seda et loginkaustas olevad failid on kättesaamatud...
Siis on veel ID-kaardiga võimalus, aga see eeldab SSL serdi olemasolu (kui just oma serverit pole). Ja ma pole eriti süvenenud kah kuidas see täpselt käib. Teoorias tean.
Kas peaks mingi kombinatsiooni tegema?
Kuidas teised teevad?
Kahtlustan et siit tuleb ilmselt pikk teemaarendus .
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
08.03.2008 17:17:29
|
|
|
kui kasutajainfot ei pea turvaliselt üle interneti kandma, siis edastad selle puhtal kujul ja teed serveris vastavad arvutused/tehted sellega, et võrrelda andmebaasis olevaga
kui on vaja turvaliselt, siis kas javascript äärmisel juhul või juba ssl
serveripoolne autentimine siis on muidugi juba eraldi teema, et kindel olla, et keegi kuidagi sisse ei saaks häkkida
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
kristoaun
HV kasutaja
liitunud: 01.01.2007
|
08.03.2008 19:11:13
|
|
|
aga mida ikkagi ette võtta. Kuidas talletada infot et kasutaja on ennast sisse loginud?
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
LWD
HV vaatleja
liitunud: 17.08.2007
|
08.03.2008 20:11:08
|
|
|
Kui kasutajanimi ja salasõna klapib, siis teed suvalise stringi.
$kood = md5($_POST['user'].microtime(true));
Peaks küllalti unikaalne olema, sest süsteemis korduvaid kasutajanimesid ei tohiks olla ja võõrastel pole ka lihtne ära arvata millisekundeid
$_COOKIE['kasutaja'] = $kood;
setcookie('kasutaja', $kood, time()+40000, '/');
session_register($kood);
$_SESSION[$kood]['userid'] = $userid;
$_SESSION[$kood]['ip'] = $kasutajaip;
Ehk salvestad kliendi arvutisse küpsise selle sama unikaalse stringiga. Igakord, kui keegi pöördub serverisse kontrollid if (isset($_SESSION[$_COOKIE['kasutaja']]) && $ip==$_SESSION[$_COOKIE['kasutaja']]['ip']). Süsteemi saab murda, kui ära arvata kood ja muuta oma IP samaks kui oli kliendil, kes logis sisse.
IPd ei saa samaks muuta ja koodi äraarvamise tõenäosus on 0
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
08.03.2008 20:20:44
Re: Kuidas ikkagi üks korralik autentimine käib? |
|
|
kristoaun kirjutas: |
kui välja väärtus muutub tehakse hidden väljadele sha1 hash javascriptiga.
php'ga kontrollin mysql tabelist kas sqlpassword = htmlpassword ja sha1(sqluser) = htmluser. |
Tegelikult ei erine see eriti tavalise parooliga logimisest, kuna sellisel kujul sha1 hashi teadmine on täpselt sama hea, kui parooli teadmine...
Küpsistes ei ole üldiselt eriti hea mõte kasutada mingeid kasutajaandmeid jms. Mingi väikese lehe puhul on muidugi ükskõik.
Sessiooni nime küpsisesse toppida on ka veidike kahtlane, kuna kasutajate sessioone tuvastatakse niikuinii sessiooni ID järgi. Samuti ei anna see ju mingit lisaturvalisust (kui välja jätta võimalus sessiooni IDd ära arvata), sest kui sa saad kuidagi küpsiste info, siis niikuinii ju kõik. Pigem oleks mõttekas kontrollida nt kasutaja IP aadressi.
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
lehm2
Kreisi kasutaja
liitunud: 19.09.2004
|
08.03.2008 20:27:30
|
|
|
parooli krüptimisel ära kasuta sha1-te ega md5, kasuta sha256 või sha512. Hea on kui lisatud saab ka salt parooli.
_________________ Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust ! |
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
|
kristoaun
HV kasutaja
liitunud: 01.01.2007
|
09.03.2008 09:08:52
|
|
|
parooli peaks ikka krüptima. inimesed ju kasutavad samu sõnu igal pool. Siis vähemalt ei saa salasõna teada. Ja teiseks ei ole ka portaali omanikul mingit õigust vaadata, mis salasõna kellelgi on...
ma tegin sellise variandi, et kui sisselogimisandmed klapivad, siis mysql baasis kasutajate tabelis pannakse status = login ja algusaeg. Seega saan ma kasutajat suunata failipuus suvalistesse kohtadesse ja pärast saab kontrollida kas tal ikka on õigusi. ja kontroll käib PHPSESSID järgi...
session_register kaob vist php6's ära ja see pidi olema ebaturvaline...
nüüdon veel 2 küsimust.
Kuidas kaitsta failipuu salajast osa?
- ikkagi htaccessiga tuleks seda teha. phpclasses.com'is ei olnud normaalset koodi htaccessi ja htpasswordi muutmiseks. Peab vist ise kirjutama
Kuidas teada saada, millal kasutaja on välja loginud.
- Kas siin peaks mingi cron kontrollimise tegema?
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
09.03.2008 14:19:33
|
|
|
kristoaun kirjutas: |
parooli peaks ikka krüptima. inimesed ju kasutavad samu sõnu igal pool. Siis vähemalt ei saa salasõna teada. Ja teiseks ei ole ka portaali omanikul mingit õigust vaadata, mis salasõna kellelgi on... |
Jah, seda küll. Aga kasutaja pool seda teha on mõttetu. Okei, otseselt parooli ei saa teada. Kelle eest sa seda kaitsed? Iseenda? :p Ning mida sa teed, kui kasutaja veebilehitseja ei toeta Javascripti?
kristoaun kirjutas: |
ma tegin sellise variandi, et kui sisselogimisandmed klapivad, siis mysql baasis kasutajate tabelis pannakse status = login ja algusaeg. Seega saan ma kasutajat suunata failipuus suvalistesse kohtadesse ja pärast saab kontrollida kas tal ikka on õigusi. ja kontroll käib PHPSESSID järgi... |
Lihtsam oleks ilmselt kirjutada mingi oma MySqli baasil sessiooni handler, millega saad kõik asjad kohe ära kontrollida.
kristoaun kirjutas: |
Kuidas kaitsta failipuu salajast osa?
- ikkagi htaccessiga tuleks seda teha. phpclasses.com'is ei olnud normaalset koodi htaccessi ja htpasswordi muutmiseks. Peab vist ise kirjutama |
http://elonen.iki.fi/code/misc-notes/htpasswd-php/
Samas võid sa ju failidele ligipääsu keelata & neid PHP abiga väljastada.
kristoaun kirjutas: |
Kuidas teada saada, millal kasutaja on välja loginud.
- Kas siin peaks mingi cron kontrollimise tegema? |
Kasutaja võid sa kadunuks tunnistada sessiooni aegumisel ja manuaalsel väljalogimisel...
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
nene
Kreisi kasutaja
liitunud: 20.03.2004
|
09.03.2008 15:16:50
|
|
|
Kõige olulisem on siiski see, kui kõrget turvalisust su lehekülg tegelikult vajab. Ehk siis kui tundlikud on need andmed, mida sa kaitsed? Turvalisus on alati tradeoff kasutusmugavuse ja andmete kaitstuse vahel. Mida suuremat kaitstust soovid, seda rohkem pead ohverdama kasutusmugavust, ja vastupidi. Aga see kõik oleneb sinu konkreetsest juhtumist.
Üht võin ma aga öelda: JavaScriptiga parooli krüptimine ei muuda su lehte grammigi turvalisemaks, üksnes langetab kasutusmugavust.
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
|
kristoaun
HV kasutaja
liitunud: 01.01.2007
|
09.03.2008 16:00:47
|
|
|
kui parool on JS'ga krüptitud siis üle neti (jumal teab läbi mitme masina. ja pealtkuulaja võib olla igaüks neist) saadetakse hash mitte parool ise.
Aga ma ei saa aru, mismoodi see kasutusmugavus langeb kui ma JS'ga olen krüptinud. Okei kiirust jah nats, aga see ei ole midagi märkimisväärset, mis kulub arvutamisele/pööramisele
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
09.03.2008 16:01:18
|
|
|
See ei takista ju mingit pidi sinu lehele sisselogimist.
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
zimm
HV kasutaja
liitunud: 02.06.2002
|
09.03.2008 16:29:08
|
|
|
ma isiklikult ei ole veebilehtede kirjutamisega tegelenud, kuid kliendipoolne hashimine on imho väga korralik turvaauk.
nimelt, kui hash lekib (kas sinu andmebaasist või samade algoritmidega teistest andmebaasidest), siis saab häkker kasutada üksnes hashi edukaks sisselogimiseks (javascripti asemel paneb ise õige jada teele). teada on, et korraliku algoritmi puhul on dehashimine väga-väga pikk ja kahtlane protsess.
kui kasutad serveripoolset hashimist, muutub sinupoolne vastutus väiksemaks kui omad ise korralikult kaitstud serverit. kliendi mure on andmed turvaliselt üle interneti sinuni toimetada. sina saad turvalisust tõsta SSL kasutamisega.
aga nojah, see on minu tagasihoidlik arvamus asjast, pole üldiste tavade ja standartidega tutvunud.
|
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
4 |
|
tagasi üles |
|
|
nene
Kreisi kasutaja
liitunud: 20.03.2004
|
09.03.2008 17:53:03
|
|
|
kristoaun kirjutas: |
Aga ma ei saa aru, mismoodi see kasutusmugavus langeb kui ma JS'ga olen krüptinud. Okei kiirust jah nats, aga see ei ole midagi märkimisväärset, mis kulub arvutamisele/pööramisele |
Kasutusmugavus langeb allapoole igasugust arvestust nendel kasutajatel, kel JavaScript ei tööta (pole brauseril üldse või on välja lülitatud).
Kui sa tahad võrguliikluse pealtkuulamise vastu kaitsta, siis on ainus mõistlik võimalus SSL. zimm'il on täiesti õigus: serverisse parooli asemel räsi saatmine on pigem tuvaauk.
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
|
da3rX
HV kasutaja
liitunud: 01.09.2004
|
09.03.2008 20:02:40
|
|
|
Serveripoolseks paroolide räsimiseks soovitan kasutada phpass'i.
Hoia kasutaja infot serveris (kasuta küpsiste asemel sessioone).
Soovitan kontrollida ka kasutaja IP aadressit ja brauserit (HTTP_USER_AGENT). Vaevalt need kasutaja sessiooni käigus muutuvad.
Vältimaks parooli vabalt üle võrgu saatmist võib kasutada HTTPS'i.
|
|
Kommentaarid: 10 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
10 |
|
tagasi üles |
|
|
kristoaun
HV kasutaja
liitunud: 01.01.2007
|
10.03.2008 13:44:02
|
|
|
kui paljudel on JS keelatud? pakun et 1/10000
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
XYZ
HV Guru
liitunud: 05.11.2001
|
10.03.2008 14:17:01
|
|
|
kristoaun kirjutas: |
kui paljudel on JS keelatud? pakun et 1/10000 |
liiga vähe pakud
ma ei pea võimatuks, et lausa pooltel on keelatud
|
|
Kommentaarid: 81 loe/lisa |
Kasutajad arvavad: |
|
:: |
3 :: |
12 :: |
56 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
10.03.2008 14:38:48
|
|
|
XYZ, ära nüüd nii pessimist ka pole, tegelikkuses on väga vähestel keelatud
mingid domeenireeglid annavad ju väga minimaalse osa (lisaks siis vähestele paranoilistele inimestele) kogu internetikasutajatest (ja vähestes domeenides on keelatud js)
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
nn3_
HV kasutaja
liitunud: 13.09.2003
|
10.03.2008 15:48:12
|
|
|
XYZ kirjutas: |
ma ei pea võimatuks, et lausa pooltel on keelatud |
See on küll väga julgelt pakutud.
http://www.w3schools.com/browsers/browsers_stats.asp
tsitaat: |
JavaScript On: 96%
|
See ei ole küll kõige parem statistika, sest leht on orienteeritud IT inimestele, kes aga kipuvad rohkem seadistusi näppima. Kuna vaikimisi on JavaScript kaasaegsetel brauseritel sisse lülitatud, siis pakun et mitte-IT-inimeste hulgas on lubatud protsent pigem suurem.
Eesti oludesse sobib
http://blog.klikivabrik.ee/2007/10/eestlane-armastab-xp-d-ie-d-ja.html
tsitaat: |
Üsnagi ootuspärane oli ka cookiede ja javascripti keelamine Cookied olid lubatud 97,6% kasutajatel ning javascript 99,3 %. |
---
Mis teemasse puutub, siis JavaScripti kasutamine selles konkreetses olukorras ei ole hea mõte (st ei anna midagi juurde).
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
3 |
|
tagasi üles |
|
|
linnumees
HV kasutaja
liitunud: 15.06.2005
|
10.03.2008 16:18:08
|
|
|
No aga seda mõtteviisi võiks ju siis ka turvalisuse osas rakendada - palju neid ründavaid kasutajaid ikka on...
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
|
lehm2
Kreisi kasutaja
liitunud: 19.09.2004
|
10.03.2008 16:28:01
|
|
|
jah Eestis on protsent suur, kuna suuremad lehed näiteks pank on põhiliselt paljutki JS peal ehitatud. Kuid selline vaidlus ei vii kuhugi. Minu arust tuleks siiski teha server-side variant
_________________ Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust ! |
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
|
XYZ
HV Guru
liitunud: 05.11.2001
|
10.03.2008 16:40:29
|
|
|
Saab ka ainult pangale JS lubada ja kõikjal mukal keelatuna hoida. Mida statistika sel puhul asjast arvab ma ei tea.
|
|
Kommentaarid: 81 loe/lisa |
Kasutajad arvavad: |
|
:: |
3 :: |
12 :: |
56 |
|
tagasi üles |
|
|
d3t
HV Guru
liitunud: 14.05.2004
|
17.07.2008 19:02:06
|
|
|
XYZ, tahaks meelede tuletada et HV kasutajskond ei esinda maailmat ega eestit. On olemas grupp inimesi kes on teistest vähekene rohkem targemad, ent valdav enamus ei vaevu selle javascripti peale mõtlema ka mitte, mis tagabki selle suure kasutatavuse.
_________________ next.Insiders - koht mängijatele ja tehnikahuvilistele toredaks ajaveetmiseks.
PT: Sony XE90 & LG C1 värvi kalibreerimine
Lecktor - 3D printerid ja lisatarvikud, Voron, Prusa jne |
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
72 |
|
tagasi üles |
|
|
maxorator
HV kasutaja
liitunud: 30.08.2006
|
17.07.2008 22:26:19
|
|
|
Kui salasõnaga tõesti pääseb ligi salastatud riigidokumentidele, siis tuleks kasutada SSL protokolli. Vastasel juhul on tavaline andmete ülekandmine täiesti piisav. Seda enam, et Javascriptiga krüpteeritud/hashitud andmeid võrgust vahelt pätsates saab lehele sisse ka tegelikku parooli teadmata, saates lihtsalt sellesama info.
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
|
gynterk
HV kasutaja
liitunud: 17.01.2004
|
18.07.2008 23:52:48
|
|
|
Minu arust on SSL-i kasutamine autentimisel tänapäeval elementaarne, sest turvarisk on ikkagi suur, olenevalt, mis andmetega tegu on. Kasutaja ja serveri vaheline ühendus peaks kindlasti olema SSL-i proto kaudu. Serveris, kas kasutaja on juba sisse logitud või mitte, on asja lihtsam lahendada. Teha MySQL tabel antud kasutaja id-ga ja panna sama ka sessiooni ($_SESSION['id'] või mida iganes), ja visata hunnik kontrolllahtreid (kasutaja id, sessiooni id, ip, browser, +[mingi kindel unikaalne koodisüsteem]). Kindlasti lisada ka mingi time-out variant (a. la kindla aja pärast sessioon lõpetatakse, st kasutaja kustutatakse tabelist)[mul istub see cron-is]+küsija(kasutaja) poolne (st et kui login tabelist küsitakse seda ID-d siis kontrollib möödunud aega, kui eksisteerib tabelis).
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
5 |
|
tagasi üles |
|
|
tanzanite
HV kasutaja
liitunud: 13.05.2006
|
09.08.2008 17:11:51
|
|
|
kristoaun kirjutas: |
kui parool on JS'ga krüptitud siis üle neti (jumal teab läbi mitme masina. ja pealtkuulaja võib olla igaüks neist) saadetakse hash mitte parool ise. |
1. samahästi võivad need jumal-teab-mitu-masinat vahepeal JS endale sobivalt muuta => kasu ei midagi
2. https protokoll on selleks
3. kasutusmugavus kannatab - kuni selleni, et leht on täiesti kasutuskõlbmatu
4. ...
5. profit !
nene kirjutas: |
Kõige olulisem on siiski see, kui kõrget turvalisust su lehekülg tegelikult vajab. Ehk siis kui tundlikud on need andmed, mida sa kaitsed? Turvalisus on alati tradeoff kasutusmugavuse ja andmete kaitstuse vahel. Mida suuremat kaitstust soovid, seda rohkem pead ohverdama kasutusmugavust, ja vastupidi. |
|
|
tagasi üles |
|
|
|