| 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: 12 let
|
|||
0