Miten tollasen kirjautumis "session" saisi parhaiten toteutettua. Jos vaan tallentaa jonkun sessiokohtaisen id:n cookieen ja sessioon, niin silloinhan tuon pölliminen on todella helppoa, pääsee sisään toisen tunnuksilla kun vaan saa tuon keksin itselleen. IRC galleriassa on juuri tällatapaa ilmeisesti toteutettu, sillä eräs henkilö murtautui tuossa IRC galleriaan muiden tunnuksilla. Sinne kun pääsi sisään vaan varastamalla keksit :D(en suosittele kokeilemaan, kuulemma uhkailivat oikeudenkäynnillä jopa, kun tuo selvisi). Niin että miten tuo kannattaisi tehdä niin, että pelkällä keksien varastamisella ei onnistuisi?
Olisiko ehkä IP:n tarkistaminen yksi vaihtoehto? Eli IP:n täytyisi olla sama kuin sillon kun käyttäjä kirjautui sisään. Onko muita hyviä vaihtoehtoja?
No kyllä tuo keksiin tallennettu sessio-id riittää omasta mielestä hyvin pitkälle. Käyttäjän oma moka, jos jakelee keksejään muille ihmisille.
ajv kirjoitti:
No kyllä tuo keksiin tallennettu sessio-id riittää omasta mielestä hyvin pitkälle. Käyttäjän oma moka, jos jakelee keksejään muille ihmisille.
Pääseekö muuten sivu käsiksi kaikkiin käyttäjän kekseihin vai vaan juuri sen sivun asettamiin? Nimittäin nuo keksithän on tosi helppo varastaa, jos mikä vaan sivu pääsee käsiks kaikkiin käyttäjän kekseihin...
https://www.php.net/set_cookie
Oletuksena muistaakseni keksit ovat näkyvillä vain sillä domainilla, jolla se on asetettu. Jos se ei riitä, voi antaa path-parametrillä tarkennuksia.
Eihän niitä keksejä niin vain varastella, ne ovat näkyvissä vain osoitteessa/polussa jossa ne on asetettu. Ellei sitten selaimessa ole jotain tietoturva-aukkoa, mikä oletettavasti on ollut galleriassa kyseessä.
Mutta jos pääsee kohteen koneelle näpelöimään vapaasti, voi ne keksien tiedot toki varastaa. Yleensä mitään IP-tarkistuksia kekseillä ei ole (olisikin epäkäytännöllistä esimerkiksi GPRS käytössä jossa IP muuttuu jatkuvasti)... Itse suosittelisin tekemään korkeaa turvaluokkaa vaativille nettisovelluksille kaksoisvarmistuksen: keksiloginilla voi tehdä vain jotain ihan perussäätöjä, mutta isompiin toimenpiteisiin (salasanan vaihtoon, osoitteen muutokseen yms.) vaaditaan sitten oikea kirjautuminen. Tämä onnistuu jos keksi sisältää vain pelkän tarkistussumman (hashin), josta oikeaa salasanaa ei voida murtaa järkevässä ajassa.
JTS kirjoitti:
Itse suosittelisin tekemään korkeaa turvaluokkaa vaativille nettisovelluksille kaksoisvarmistuksen: keksiloginilla voi tehdä vain jotain ihan perussäätöjä, mutta isompiin toimenpiteisiin (salasanan vaihtoon, osoitteen muutokseen yms.) vaaditaan sitten oikea kirjautuminen. Tämä onnistuu jos keksi sisältää vain pelkän tarkistussumman (hashin), josta oikeaa salasanaa ei voida murtaa järkevässä ajassa.
Hmm... Miten keksilogini eroaa "oikeasta kirjautumisesta"? Ja ei sinne keksiin kannata salasanaa hashata, sisäänkirjautumisen yhteydessä vaikka uniqid()-funktiolla tekee käyttäjälle sessio-id:n ja pistää sen kantaan sekä keksiin. Sen jälkeen vaan aina tarkastetaan, että id löytyy sessio-taulusta. Näin siis jos käytössä tietokanta :) Mutta tekstitiedostoilla jotakuinkin sama periaate.
ajv kirjoitti:
Hmm... Miten keksilogini eroaa "oikeasta kirjautumisesta"?
Siten että "oikea kirjautuminen" on voimassa vain rajoitetun ajan, kenties minuutteja viimeisestä aktiivisesta toiminnosta sitten oikean kirjautumisen. Jossain tuollainen toki voi olla ainoa kirjautumistapa, mutta yleensä tarjolla on vaihtoehto käytännössä ikikirjautumiselle (kuten vaikka täällä putkassa).
Esimerkiksi SMF foorumilla moderaattorit/adminit voivat kyllä kirjoitella viestejä/tehdä normaali foorumitoimintoja käyttäessään "ikikirjautumista", mutta ylläpidollisiin tehtäviin vaaditaan sitten salasanavahvistus.
Taisin ilmaista itseäni taas vähän epämääräisesti aiemmin :/
Aihe on jo aika vanha, joten et voi enää vastata siihen.