Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

stranica za log i provera da li je user ulogovan - gde gresim

[es] :: PHP :: stranica za log i provera da li je user ulogovan - gde gresim

[ Pregleda: 3364 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.ptt.yu.



+1 Profil

icon stranica za log i provera da li je user ulogovan - gde gresim20.11.2006. u 21:37 - pre 212 meseci
imam sledeci kod koji obradjuje stranicu login.html
Code:
<?php
/*************************
 * stranica za logovanje * 
 *************************/
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
session_cache_limiter();

session_start();
session_unset();

$username=$_POST['user_name'];
$sifra=$_POST['password'];

if (empty($username) or empty($sifra))
{
    header("Location: pogresan_log.html");
    exit();
}
require_once('db_vars.inc');
$username = strtolower($username);
    $md5_sifra = md5($sifra);
    $query = "SELECT user_name, user_id
              FROM user
              WHERE user_name = '$username'
              AND password = '$md5_sifra'";
    $result = mysql_query($query);
    if (!$result || mysql_num_rows($result) < 1){
      header("Location: pogresan_log.html");
      exit();
    } else {
        extract(mysql_fetch_assoc($result));
        $_SESSION['user_name'] = $user_name;
        $_SESSION['SID']=session_id();
    }
header("Location: rezervacija.php");
$_SESSION['link'] = $_SERVER['REQUEST_URI'];
?>

stranica login.html
Code:
<HTML>
<HEAD>
<TITLE>Login</TITLE>
</HEAD>
<BODY>
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 ALIGN=CENTER WIDTH=621>
<TR>
 <TD>
<P>LOGIN</P>
<FORM ACTION="login.php" METHOD="POST">
<P>Korisničko ime<BR>
<INPUT TYPE="TEXT" NAME="user_name" VALUE="" SIZE="10" MAXLENGTH="15"></P>
<P>Šifra<BR>
<INPUT TYPE="password" NAME="password" VALUE="" SIZE="10" MAXLENGTH="15"></P>
<P><INPUT TYPE="SUBMIT" NAME="submit" VALUE="ULOGUJ SE"></P>
</FORM>

 </TD>
</TR>
</TABLE>
</BODY>
</HTML>

a na pocetku stranice rezervacija.php funkciju isloged() koja proverava da li je korisnik ulogovan i ako nije vraca ga na stranicu login.php
Code:
function isloged()
{
    if (empty($_SESSION['user_name']) and $_SESSION['SID']!=session_id())
    {
        header("Location: login.php");
        exit();
    }
}

e sad kad probam da se ulogujem on me vraca na stranicu login.html i nista se ne desava. proverio sam sto puta i nigde se nista ne salje na izlaz sto znaci da bi header() trebalo da radi, ali ne radi. ako neko vidi u cemu je problem, neka mi kaze molim vas...
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.145.*

Sajt: https://avramovic.info


+46 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim20.11.2006. u 22:54 - pre 212 meseci
Debuguj malo. Za početak, šta ti vraća print_r($_SESSION); na toj stranici gde proveravaš login?
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim21.11.2006. u 00:55 - pre 212 meseci
Ovo meni izgleda sasvim u redu.
Sigurno u bazi imas strtolower user_name i md5 password.
Proveri require_once('db_vars.inc'); ako vec nemas, napravi neki error report.
I jos jedan savjet, escape mysql injection:
$username = mysql_real_escape_string($_POST['user_name']);
$sifra = md5(mysql_real_escape_string($_POST['password']));
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.ptt.yu.



+1 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim21.11.2006. u 18:31 - pre 212 meseci
hvala na sugestijama... malo sam preformulisao funkciju isloged koja sada izgleda ovako
Code:
function isloged()
{
    if (!empty($_SESSION['user_name']) and $_SESSION['SID']==session_id())
    {
        return true;
    }
    else {
        return false;
    }
}

i sada sve fercera...
nego interesuje me vas komentar sto se tice bezbednosti ovakvog resenja....
i jos samo da pitam jednu stvar:
interesuje me kako nekoga da odlogujem ako ode sa sajta a da pri tome nije pritisnuo dugme logout?
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.145.*

Sajt: https://avramovic.info


+46 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim21.11.2006. u 21:19 - pre 212 meseci
Sesija će se prekinuti kad se prekine komunikacija browsera i servera.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Jezdimir Lončar
Aka Blazeme
PHP/jQuery Dev, BildStudio
Crna Gora / Pljevlja

Član broj: 74833
Poruke: 674
*.opera-mini.net.

Jabber: jezdonet@gmail.com


+4 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim21.11.2006. u 23:45 - pre 212 meseci
Da...
U tome je prednost sessija nad cookima...
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.adsl.static.sezampro.yu.



+1 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim22.11.2006. u 07:53 - pre 212 meseci
Jedno pitanje, kad ste već otvorili tu temu: da li se, ako se korisnik već "odlogovao", ako klikne na "back", korisnik vraća ponovo u "login" stanje ili ne? To mi nije baš najjasnije, zbog toga što se podatak o sesiji čuva u URL-u?
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.com.



+1 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim22.11.2006. u 11:00 - pre 212 meseci
nisam siguran ali mislim da ne bi trebalo da se vraca u stanje logovanog korisnika ukoliko za logout koristis ovo:
Code:
session_unset();
session_destroy();

jer ovime ponistavas tj. brises sve promenljive sessiona...
ako gresim neka me neko ispravi
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim22.11.2006. u 11:43 - pre 212 meseci
Citat:
Nemanja Avramović
Sesija će se prekinuti kad se prekine komunikacija browsera i servera.

Pa onda Neohacker kaze:
Citat:
Neohacker: Da...
U tome je prednost sessija nad cookima...

http://au.php.net/manual/en/function.setcookie.php

setcookie() parameters explained
expire ( Kao treci parametar)

The time the cookie expires... bla bla
Pa tamo u manual-u kaze:
...
time()+60*60*24*30 will set the cookie to expire in 30 days. If not set, the cookie will expire at the end of the session (when the browser closes).

Pitanje za Neohacker
I gde je tu prednost ????

:)

Poz
sale
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

Jezdimir Lončar
Aka Blazeme
PHP/jQuery Dev, BildStudio
Crna Gora / Pljevlja

Član broj: 74833
Poruke: 674
*.opera-mini.net.

Jabber: jezdonet@gmail.com


+4 Profil

icon Re: stranica za log i provera da li je user ulogovan - gde gresim22.11.2006. u 11:44 - pre 212 meseci
Mislim da kad se uništi cookie (bilo session ili ovaj običam) da će korisnik biti izlogovan dok se ponovo ne uloguje.
Međutim on će vidjeti members stranicu ako klikne back sve dok je ne osvježi ili klikne na neki link na njoj.
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
 
Odgovor na temu

[es] :: PHP :: stranica za log i provera da li je user ulogovan - gde gresim

[ Pregleda: 3364 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.