Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kirjautumis, uloskirjautuminen

Sivun loppuun

thekoodaaja [12.09.2004 09:41:15]

#

joo mä oon php noobie ja en tietä

1. Mitä kirjautumis juttua kannattaisi käytää
2. Miten pistän salauksen tietoihin mieluiten (murtamaton)
3. ja mun pitäisi pystyä lataa sen mb:nettiin

thekoodaaja [12.09.2004 09:57:15]

#

1. Miten tiedätkö mistä löydän esimerkin.
2. ?md5? miten käytän mistä löydän esimerkin.
3. tyhmä kysymys.
4. Entä miten pistän sen silee, että vain jos olet kirjautunut sisään voit katsella kuvia.

Koipio-ohjelma [12.09.2004 10:08:06]

#

makeuu kirjoitti:

3. Kotisivumuokkain

Minä kylläkin käytän win_ftp LE:tä (meniköhän nimi oikein) ja teen tiedostot omalla koneella ja ftp:tän ne kyseisellä ohjelmalla mbnettiin.

Akseli F [12.09.2004 10:11:25]

#

1. Lue putkan php opas ja tarkista if lauseella onko salasana oikea
2.

<?php
$teksti = "salattava teksti";
$teksti = md5($teksti);
?>

4.Suojaa kuvat htaccessilla. Php skriptihän pääsee niihin edelleen käsiksi.

thekoodaaja [12.09.2004 10:12:16]

#

1. Miten koodaan ton siis oikosulku
4.Miten käytän tota

tejeez [12.09.2004 10:56:49]

#

Yritäs nyt itekin lukea oppaita ennen ku alat kyselemään siitä.

thekoodaaja [12.09.2004 11:13:32]

#

kiitti en tajunnut tota itse

tsuriga [12.09.2004 12:42:45]

#

Md5 ei vaan ole murtamaton, tsekkaa Salausopas
Ehkä kuitenkin riittävä sinun tarpeisiisi.

Akseli F [12.09.2004 13:39:37]

#

1.

lomake.php

<h1>Kirjaudu sisään</h1>
<form method="post" action="login.php">
<input type="text" name="tunnus">
<input type="password" name="salasana">
<input type="submit" value="Kirjaudu sisään!">
</form><p>
<h1>Kirjaudu sisään</h1>
<form method="post" method="logout.php">
<input type="submit" value="Kirjaudu ulos!">
</form>

login.php

<?php
$tunnus   = $_POST['tunnus'];
$salasana = $_POST['salasana'];

   session_start();
   $_SESSION["tunnus"]   = "$tunnus";
   $_SESSION["salasana"] = "$salasana";
?>

logout.php

<?php
session_start();
//poistetaan istuntomuuttujat
unset($_SESSION["tunnus"]);
unset($_SESSION["salasana"]);
?>

salaisetsivut.php

<?php
session_start();
$tunnus   = $_SESSION["tunnus"];
$salasana = $_SESSION["salasana"];
if($salasana == jotainsalaista && $tunnus == mina){

//Tähän tulee sisältö

} else {
header("Location: logout.php");
}
?>

Salasana kannattaa tietenkin salata esim. md5:llä. Koodi on heitetty hatusta, mutta järkeni mukaan sen pitäisi toimia.

Edit: Oli yksi sulku unohtunut. Ei pitäisi kiireisenä koodailla...
Ja on todettu toimivaksi.

4. Haku on keksitty! https://www.ohjelmointiputka.net/keskustelu/6216-session-kanssa-loggaus-tiedostot

Aku2 [12.09.2004 13:54:40]

#

Hyvä esimerkki, vaikkakaan en ole tuota kokeillut.
Tuosta tuli kysymys mieleeni, että jos tekee tuollaisen sessio kirjautumisen, niin miten se sessio pysyy muistissa.
Eli kirjautuminen sivulle, jos siirryn toiselle sivulle, niin pitääkö sessio tarkistus tehdä vai seuraako sessio automaattisesti perässä, eli serveri muistaa kirjautumiseni niin kauan, kunnes olen klikannut logout.

Tyyliin joka sivun ylälaidassa olisi tieto oletko jo kirjautunut sisään vai et. Miten tuo tarkistus tehtäisiin?

Akseli F [12.09.2004 14:15:53]

#

Sessio on muistissa siihen asti kunnes se erikseen poistetaan.

Tuo sessien tarkistus pitää tehdä erikseen jokaiselle sivulle, tosin itselläni on vain yksi tiedosto joka includettaa käyttäjän haluaman sivun, jotka on suojattu htaccessilla.

Tuossa yllä neivoin jo sen tarkistuksen. Tosin sen voisi tehdä myös näin:

<?php
session_start();
$tunnus   = $_SESSION["tunnus"];
$salasana = $_SESSION["salasana"];
if($salasana != jotainsalaista || $tunnus != mina){

header("Location: logout.php");

} else {
?>
Olet sisällä!
<?php } ?>

Ja itse suosittelen käyttämään sessioita, ettei käyttäjä pääse tutkimaan niiden tietoja.

Aku2 [12.09.2004 14:40:13]

#

Lähinnä hain vastaukseksi. missä muistissa se sessio pysyy. Oman koneen muistissa? Cookiessa? Serveri pitää muistissa? Joku muu?

sooda [12.09.2004 14:46:00]

#

Servulla filussa.

Antti Laaksonen [12.09.2004 14:57:05]

#

Käyttäjän koneella on yleensä eväste, jossa on istunnon tunnus. Palvelimella on sitten tätä tunnusta vastaava tiedosto, joka sisältää kaikki istuntomuuttujat. Voit lukea lisää PHP-oppaasta.

thekoodaaja [12.09.2004 17:36:41]

#

Kauan kestää murtaa md5 ja onko se kovinkin vaikeata haluisin vain tietää siitä se, että onko se erittäin helppo murtaa?

peki [12.09.2004 17:38:10]

#

Tuolla asiasta (laillista) lisätietoa:
http://www.antsight.com/zsl/rainbowcrack/

thekoodaaja [12.09.2004 17:41:29]

#

Kelpaa mulle elikkä siis pitää olla kunnon hax0ri sen rikkomiseksi.

Tuli vain mieleen miten pystyy tekemään suojauksen sileen, että niitä ei pysty katoo jos vain laittaa vaikka kuvan url:lin siihen.

thekoodaaja [12.09.2004 19:21:16]

#

Miten pystyy salaaamaan kuvan niin, että sitä ei näy ellei ole kirjautunut sisään vaikka tietäisi kuvan url:n.

ajv [12.09.2004 20:44:41]

#

Akseli F kirjoitti:

4. Haku on keksitty! https://www.ohjelmointiputka.net/keskustelu/6216-session-kanssa-loggaus-tiedostot

Tuolta se viimeinen viesti ja vähän sovellusta:

***kuva.php
<?
session_start();
$tunnus   = $_SESSION["tunnus"];
$salasana = $_SESSION["salasana"];
header("Content-type: text/jpg");
if($salasana != jotainsalaista || $tunnus != mina){
   header("Content-Disposition: attachment; filename=LOL.jpg");
   readfile('suojattu_htaccess_hakemisto/LOL.jpg');
}else{
   header("Content-Disposition: attachment; filename=error.jpg");
   readfile('sinulla_ei_oikeuksia.jpg');
}
?>

Kummiskin kysyt, että miten toi toimii, niin tällä lailla:

<img src="kuva.php" />

Ja jos nyt kirjoittaa osoiteriville tuon suoran osoitteen kuva.php:n ja ei ole kirjautunut, niin näytetään vain tuo error-kuva.
Siitä sitten vaan soveltamaan niin, että kaikki kuvat "aukeavat" tuon kuva.php:n kautta.

thekoodaaja [13.09.2004 07:14:51]

#

Entä miten pystyy määrittämään rekistöröityneen oikeudet.
Olisko, joku oieudet 1-2.

Akseli F [13.09.2004 16:51:30]

#

ajv: Mutta skriptisihän näyttää LOL.jpg:n jos salasana tai käyttäjätunnus on väärin. Korvatkaa if lauseen != merkit == merkeillä niin sitten toimii.

thekoodaaja: Selventäisitkö kysymystäsi?

khaani [13.09.2004 19:02:51]

#

thekoodaaja kirjoitti:

Kauan kestää murtaa md5 ja onko se kovinkin vaikeata haluisin vain tietää siitä se, että onko se erittäin helppo murtaa?

Lyhyet alle viisi merkkiä pitkät md5:llä salatut merkkijonot ratkeavat perus kotikoneella alle sekunnissa bruteforcen avustuksella. :) Seitsemään merkkiin taitaakin bruteforcea joutua pyörittelemään jo useamman päivän... Kannattanee siis käyttää pitkiä salasanoja, mikäli haluaa että tuosta md5:stä on mitään iloa.

ajv [13.09.2004 19:11:17]

#

Akseli F kirjoitti:

ajv: Mutta skriptisihän näyttää LOL.jpg:n jos salasana tai käyttäjätunnus on väärin. Korvatkaa if lauseen != merkit == merkeillä niin sitten toimii.

Niipäs näyttääkin. Hutasin ton esimerkin pikasesti hatusta sen enempää ajattelematta :) Mutta idea siitä varmaan selviää.


Sivun alkuun

Vastaus

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

Tietoa sivustosta