Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Sisäänkirjautuminen 2.0

Sivun loppuun

Hico-Hatiac [03.01.2004 15:39:12]

#

Yksinkertainen sisään- ja uloskirjautumisjärjsetelmä, jossa on kaikki samassa tiedostossa.

<?php
//aloitetaan sessio
session_start();
?>
<html>
<body>
<?php
//tunnus ja salasana
$username = "316e42c120fa778e29b354f5a00f223f";
$password = "bebc71104490d23338ed4d6cf0d775c3";

//tarkistetaan onko tunnus ja salasana 'postitettu'
if(isset($_POST['tunnus']) && isset($_POST['salasana'])) {

    //jos tunnus ja salasana on lähetetty, niin tarkistetaan niiden oikeellisuus
    if(md5($_POST['tunnus']) == $username && md5($_POST['salasana']) == $password) {

        //tunnus ja salasana oikein:
        echo "Kirjautuminen onnistui!<br>
";
        //uloskirjautumislinkki
        echo "<a href=\"".$_SERVER['PHP_SELF']."?ulos=1\">Kirjaudu ulos</a>";

        //asetetaan tunnus ja salasana sessiomuuttujiin
        $_SESSION['tunnus'] = md5($_POST['tunnus']);
        $_SESSION['salasana'] = md5($_POST['salasana']);

    } else {

        //jos tunnus ja salasana eivät ole oikein:
        echo "<font color=\"#FF0000\">Tunnus tai salasana väärin!</font>";

    }

//jos halutaan kirjautua ulos
} elseif(isset($_GET['ulos'])) {

    //tyhjennetään sessio
    unset($_SESSION['tunnus']);
    unset($_SESSION['salasana']);

    //ilmoitetaan asiasta
    echo "Kirjauduttu ulos!";

//muussa tapaksessa:
} else {

    //jos tunnus ja salasanasessiomuuttujat ovat olemassa
    if(isset($_SESSION['tunnus']) && isset($_SESSION['salasana'])) {

        //tarkistetaan niiden oikeellisuus
        if($_SESSION['tunnus'] == $username && $_SESSION['salasana'] == $password) {

            //uloskirjautumislinkki
            echo "<a href=\"".$_SERVER['PHP_SELF']."?ulos=1\">Kirjaudu ulos</a>";

        //jos istuntotiedot ovat virheelliset:
        } else {

            //annetaan ohjeet
            echo "<font color=\"#FF0000\">Virhe istunnossa!</font>
<br>Uudelleenkäynnistä selain, ole hyvä.";

        }

    //jos istuntoa ei ole olemassa
    } else {

        //tulostetaan kirjautumisformi:
        echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">

            tunnus: <input type=\"text\" size=20 name=\"tunnus\"><br>

            salasana: <input type=\"password\" size=20 name=\"salasana\"><br>

            <input type=\"submit\" value=\" kirjaudu \">

            </form>";

    }

}
?>
</body>
</html>

Hico-Hatiac [03.01.2004 15:39:54]

#

Ja kommenttia sitte vaa tulee...

ajv [03.01.2004 20:38:32]

#

Yksinkertainen, siisti. Ite suosin .htaccess suojausta.

Teme [03.01.2004 20:49:59]

#

Tässä olisi kyllä voinut neepille vielä mainita, että koodin alkuun (9 & 10 rivi) tulevat tunnukset tulee MD5-kryptata, jotta sisäänkirjaus toimii. Vähän enemmän aikaavievää, mutta varmasti turvallisempaa.

antsa [04.01.2004 23:44:10]

#

Jees, ihan hyvähän tämä on. Mutta eikö tunnukset kannattaisi laittaa vaikka arrayhyn tai tekstitiedostoon, niin saisi vaikka luotua useampia tunnuksiakin tai jotain :)

kenkku [05.01.2004 16:49:12]

#

Ihan kaunis, vaikken testata kerennytkään. Kommenttia on aika paljon, ehkä liikaakin (onneksi ne eivät ole sentään kovin pitkiä).

Hico-Hatiac [05.01.2004 17:47:40]

#

Joo... Mä oon vast alottelija, ja kiitti vinekist, Virheistä oppii... =)

Pyry [07.01.2004 15:32:57]

#

Ai kiva... ihan kiva arvostelu _minun_ kirjoittamalleni scriptille. Tuskin Hico-Hatiac osaa pätkääkään phptä... LOL
Ja oma sivuni, josta koodi on kopioitu: http://koti.mbnet.fi/pyry89/nullkey/index.php?id­=7a4ca059fc9aecd3e042e151192a7ca1

T.M. [07.01.2004 19:00:38]

#

Voih... Toivottavasti Hico-Hatiac bännitään.

ZcMander [08.01.2004 14:58:36]

#

en uskonutkaan että aloittelia ois nuin hyvän koodin laittanu. Miten pyry oot tehny ton (VB:llä) md5-sum ohjelman?

Pyry [08.01.2004 17:04:39]

#

Se on yksi vanha viritelmä, jonka tein apuohjelmaksi, eikä se mukana tuleva dll-tiedosto ole mun käsialaa (se sisältää sen md5-algoritmin).

Jen0va [09.01.2004 04:22:17]

#

:D:D::D Oikeesti :D:D toi on jo se LOL :D
Aika reilu kaveri tää hico-hatic :D

makeuu [09.01.2004 14:19:46]

#

Joo, hyvä koodi muuten, mutta lisääjä oli väärä, samat sanat ku T.M:llä eli bännittäspä.

k-mikko [30.01.2004 19:23:51]

#

Miksi pitää käyttää font-tagia? Se on vanhentunut eikä sitä tulisi enää käyttää.

dera [01.05.2004 00:07:59]

#

Haha aika säälittävä yritys


Sivun alkuun

Vastaus

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

Tietoa sivustosta