Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Logini

Sharph [11.03.2004 13:48:11]

#

Miten voisi tehdä sellasen loginin, että olisi MySQL-tietokannassa tieto onko online/offline ja ip, että voisi pitää kirjaa käyttäjistä, mutta sitten se toimisi konekohtaisesti, eikä ipkohtaisesti. Cookieta oon kokeillu, mutse ei jää pysyvästi..

Juhis [11.03.2004 14:24:58]

#

Konekohtainan ainoa ratkaisu on keksit (cookie)
Sitten on sessiot, mutta se kuolee defaulttina 24min kuluessa ja on serveripuolelta vaan.

Tietoturvaa ei tuollaisessa ole paljon paskaakaan, jos siis se tunnistaisi tietyn koneen ja päästäisi sen sisään automaattisesti ilman salasanaa.

Sharph [11.03.2004 14:28:28]

#

En tarkoita sitä, vaan että pidettäisiin IP:n mukaan käyttäjä sisällä. Mutta miten keksit saa pysymään selaimen sulkemisen jälkeen?

Sharph [11.03.2004 14:51:03]

#

Vai onko niiden tuhoutuminen selainkohtaista?

Juhis [11.03.2004 15:07:20]

#

Siis keksit pysyy niin kauan kun ne on määritelty pysymään. Toinen asia taas on että salliiko asiakas (sivun käyttäjä) keksejä tai/ja jos sallii, poisteleeko hän niitä oman tahdon mukaan.
www.php.net/sessions tutustu sessioneihin, ne on kivoja ;)

T.M. [11.03.2004 15:11:12]

#

setcookie("seppo", "keijo", time()+31536000, "/");

Asettaa "seppo" nimisen keksin arvoksi "keijo" ja keksi tuhoutuu vuoden päästä.

print $_COOKIE['seppo']; // keijo

Tuolla tavalla tulostat kyseisen keksin.


Jos keksit ei kuitenkaan pysy vaikka pitäisi, niin tutustu tekemääni funktioon: https://www.ohjelmointiputka.net/koodit_nayta.php?id=751

leftover [11.03.2004 15:23:57]

#

Itse toteutan siten että käytän sessioneja, ja jokaisella sivulatauksella lisään / päivitän tauluun sessio-id:n sekä latausajan. Ulos saan paikallaolijat seuraavanlaisella kyselyllä:

SELECT id FROM taulu WHERE DATE_SUB(NOW(), INTERVAL 5 MINUTE) < aika

ja saan tietoon kaikki jotka ovat ladanneet jonkin sivuston viimeisen viiden minuutin aikana.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta