Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Php kirjautumis juttu...

Sivun loppuun

zankari [18.09.2004 20:24:27]

#

Teen sivuja pienelle porukalle ja haluan että vain minun määräämäni henkilöt voivat päästä sisään ja nähdä salattuja kohteita. Alla on tekemääni koodia ja se toimi ennen kuin lisäsin toisen käyttäjän eli tässä tapauksessa Eskon. Osaisiko joku auttaa miten saisin tuollaiseen monta käyttäjää ?

<?php

if ($_GET[nimi] == "ilmari" AND $_GET[salasana] == "ilmari") OR if ($_GET[nimi] == "Esko" AND $_GET[salasana] == "esko"

{
    echo "Tietosi ovat oikein.";
}
else
{
    echo "Tietosi ovat väärin.";
}

kenkku [18.09.2004 20:28:43]

#

if (($_GET[nimi] == "ilmari" AND $_GET[salasana] == "ilmari") OR ($_GET[nimi] == "Esko" AND $_GET[salasana] == "esko"))

Muista tästä lähtien käyttää [koodiphp]-tageja

zankari [18.09.2004 20:30:20]

#

Kiitos, mutta mitä nuo [koodiphp]-tagit ovat ? :)

raezel [18.09.2004 20:31:05]

#

korjattu lause:

if ($_GET[nimi] == "ilmari" AND $_GET[salasana] == "ilmari" OR $_GET[nimi] == "Esko" AND $_GET[salasana] == "esko")

ah, joku ehtikin jo ensin. ja ne tagit lisätään koodin ympärille, että ne tulevat laatikkoon yms(kuten tässä viestissä).

ajv [18.09.2004 20:38:01]

#

Kun tulee enemmän käyttäjiä, niin kannattais tehdä joku taulukko käyttäjistä tyyliin:

$users = array(
   'ilmari' => 'ilmarinsalasana',
   'Esko' => 'eskonsalasana',
   'keke' => 'kekensalasana',
   'sepi' => 'sepinsalasana');

Sitten tohon jokin yksinkertainen tarkastusrutiini, niin koodikin pysyy järkevissä mittasuhteissa, vaikka käyttäjiäkin tulisi vähän enemmänkin.

Edit: no heitänpä ny ton tarkastusrutiininkin päästä tähän vielä:

<?php
if(array_key_exists($_POST['nimi'],$users) && $users[$_POST['nimi']] == $_POST['salasana']){
   echo "Tietosi ovat oikein.";
}
?>

zankari [18.09.2004 21:00:13]

#

siis näin

<?php echo...

Mut vielä olis 1 ongelma....
Miten saisin sen sillai että jos käyttäjätunnus ja salasana täsmäävät
niin sivu ei tulostakaan vain että Tiedot ovat oikein vaan hyppäisi toiselle sivulle jossa olisi "membersien" etuoikeuksia... ?

Antti Laaksonen [18.09.2004 21:27:08]

#

Tee vaikka niin, että jokaisen salaisen sivun alussa on tunnuksen ja salasanan tarkistus. Jos tiedot ovat väärin, sivulle ei tulosteta ensinkään mitään. Silloin salaista sivua ei mitenkään pääse näkemään ilman tunnusta ja salasanaa.

Sivun alussa olevan tarkistuksen voi toteuttaa vaikkapa tähän tapaan muuttamalla ajv:n koodin käänteiseksi:

<?php
if (!array_key_exists($_POST['nimi'], $users) || $users[$_POST['nimi']] <> $_POST['salasana']) {
    die("Sinulla ei ole oikeutta nähdä tätä sivua!");
}
?>

ajv [18.09.2004 21:37:01]

#

Asiasta kolmanteen tuon koodin saa helposti käänteiseksi myös seuraavalla tyylillä:

<?php
if(!(array_key_exists($_POST['nimi'],$users) && $users[$_POST['nimi']] == $_POST['salasana'])){
   die("Tietosi ovat Väärin.");
}
?>

Eli lisäämällä vain sulkuja ja huutomerkkejä. Tosin tommosia viritelmiä on inhottava jälkeenpäin alkaa selvitellä.

zankari [19.09.2004 11:25:41]

#

Kiitos kaikille :)

Meitsi [20.09.2004 19:05:42]

#

Muista että joku saattaa kiertää tuon suojauksen.

Esim:

    [PÄÄSIVU] --> klikattiin login linkkiä
        |
    [  login] --> tiedot --> tiedot ok --> siirrytään
        |
    [members] --> siirrytty sivulle members.html

Käyttäjä/huijari voi huomata osoitepalkista että sivun polku on www.hosti.com/sivu/members.html Ja käyttää sitä hyväksi.

--> mennään suoraan sivulle eikä käyttäjältä/huijarilta kysytä tietoja.

Meinasin siis että laita kaikki memberien tulostukset vaikka .htaccessilla suojattuun kansioon tai suojaa ne php-skriptillä joka tarkistaa aina että on kirjauduttu sisään valideilla tunnuksilla.

Sivun alkuun

Vastaus

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

Tietoa sivustosta