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ää ?
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
Kiitos, mutta mitä nuo [koodiphp]-tagit ovat ? :)
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ä).
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."; } ?>
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... ?
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!"); } ?>
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ä.
Kiitos kaikille :)
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.