Autor | Zpráva | ||
---|---|---|---|
epoxman Profil |
#1 · Zasláno: 21. 5. 2013, 10:53:38
Dobrý den,
potřeboval bych se zeptat jak zabezpečit web pomocí session. Jak zabezpečit stránky jen pro přihlášené a pro nepřihlášené, nechat pouze číst články registraci a přihlášení. Protože i bez přihlášení se mi stránka načte po zadání konkrétní adresy (např administrace). Moc díky za rady. |
||
Taps Profil |
#2 · Zasláno: 21. 5. 2013, 11:00:20
epoxman:
http://pecan.cz/index.php?id=38&n=registrace-prihlaseni-uzivatelu + související články |
||
epoxman Profil |
#3 · Zasláno: 21. 5. 2013, 19:14:04
Když mám stránku například tajne.php
<?php if(!isset($_SESSION['prihlasen]) and @$_SESSION['prihlasen']!=1){ include("zahlavi.php"); include("zapati.php"); }else{ include("zahlavi.php"); ?> tajný kod <?php include("zapati.php"); } ?> a jsem přihlášen přes skript: <?php include ("../../mysql_connect.php"); $sql = "select id_uzivatele,prezdivka from sp_uzivatele where heslo=md5('$_POST[heslo]') and prezdivka='$_POST[prezdivka]'"; if($vysledek=mysql_query("$sql")){ if(mysql_num_rows($vysledek)>0){ session_name("projekt"); session_start(); $_SESSION['prezdivka']=$_POST['prezdivka']; $_SESSION['prihlasen']=1; $_SESSION['id_user']=mysql_result($vysledek,0,'id_uzivatele'); header ("location:index.php"); }else{ header ("location:spatne_prihlaseni.php"); } echo mysql_error(); } tak mi to nefunguje, mohl by mi někdo prosím prosím poradit?? :) děkuji |
||
Davex Profil |
#4 · Zasláno: 21. 5. 2013, 19:25:14
Na začátku prvního skriptu chybí
session_start() .
|
||
epoxman Profil |
stále nefunguje :(
opraveno na: <?php session_start(); session_name("projekt"); if(!isset($_SESSION['prihlasen']) and @$_SESSION['prihlasen']!=1){ echo "nepřihlášen"; }else{ echo "přihlášen"; } ?> prihlasovaci script: <?php include ("../../mysql_connect.php"); $sql = "select id_uzivatele,prezdivka from sp_uzivatele where heslo=md5('$_POST[heslo]') and prezdivka='$_POST[prezdivka]'"; if($vysledek=mysql_query("$sql")){ if(mysql_num_rows($vysledek)>0){ session_name("projekt"); session_start(); $_SESSION['prezdivka']=$_POST['prezdivka']; $_SESSION['prihlasen']=1; $_SESSION['id_user']=mysql_result($vysledek,0,'id_uzivatele'); header ("location:protected.php"); }else{ header ("location:spatne_prihlaseni.php"); } echo mysql_error(); } |
||
juriad Profil |
#6 · Zasláno: 21. 5. 2013, 20:47:49
Thus, you need to call session_name() for every request (and before session_start() or session_register() are called). Musíš volat session_name() před session_start().
Proč vůbec používáš session_name? Potřebuješ ho vůbec? |
||
Časová prodleva: 11 let
|
0