Pagina 1 din 1

acces in pagina doar la user logat

Scris: Joi Oct 27, 2016
de sterica
Salutare,

Am o pagina de login.php unde introduc user, parola si am un buton de submit, daca este introdus corect, imi face trimitere cu:

Cod: Selectaţi tot

header ('Location: index.php');
daca nu sunt corecte datele primesc un mesaj de eroare. Problema mea apare catunci cand in browser este tastat localhost/site/index.php se deschide in continuare pagina, teoretic partea de login o am asa doar de dragul de a fi. Ce pot face ca sa nu imi deschida pagina daca nu am introdus user si parola.

Multumesc!

acces in pagina doar la user logat

Scris: Joi Oct 27, 2016
de MarPlo
Salut
1. In "login.php" inregistrezi un $_SESSION daca datele de logare sunt trimise si corecte, altfel stergi acea sesiune.

Cod: Selectaţi tot

if($date_logare_corecte){
  $_SESSION['loged'] ='Name';
}
else if(isset($_SESSION['loged'])) unset($_SESSION['loged']);
2. In paginile cu acces doar cu logare verifici daca exista acea sesiune.

Cod: Selectaţi tot

if(isset($_SESSION['loged'])){
  echo 'Content..';
}
else echo 'You must logg in.';
- In toate acele fisiere sa fie la inceput: session_start().

acces in pagina doar la user logat

Scris: Joi Oct 27, 2016
de sterica
MarPlo, cum imi recomanzi sa procedez in cazului lui acel echo 'Content..' ; atunci cand pagina este formata din foarte multe linii de cod HTML. Va trebui sa o transpun sa fie interpretata de php prin acel echo, sau am o alta posibilitate mult mai usoara?
Multumesc!

acces in pagina doar la user logat

Scris: Joi Oct 27, 2016
de MarPlo
O varianta mai simpla in cazul acelui "echo" cu continutul paginii e aceasta:

Cod: Selectaţi tot

if(isset($_SESSION['loged'])){
  include 'get_content.php';
}
else echo 'You must logg in.';
Iar in "get_content.php" definesti continutul cum stii.

- Ca sa nu se poata accesa din browser fisierul get_content.php, adaugi in fisieru ".htaccess" acest cod:

Cod: Selectaţi tot

# Blocks the external access to get_content.php
<files get_content.php>
 order allow,deny
 deny from all
</files>

acces in pagina doar la user logat

Scris: Joi Oct 27, 2016
de sterica
M-am gandit si la a include o pagina in acel if, insa asa cum ai spus si tu se poate accesa din browser, dar .htaccess se pare ca face minuni :)
Voi folosi pentru fiecare fisier codul tau:

Cod: Selectaţi tot

<files get_content.php>
 order allow,deny
 deny from all
</files>
Multumesc mult de ajutor!

acces in pagina doar la user logat

Scris: Mar Noi 14, 2017
de cadou
Si daca as avea un fisier intr-un folder... de exemplu calea fisierului (daca as tasta in browser) .....ro/Dosar/Fisier.php , iar fisier.php nu as dori sa il acceseze cineva direct din browser,

Am incercat sa pun in htaccess asa :

Cod: Selectaţi tot

<files folder/fisier.php>
 order allow,deny
 deny from all
</files>
, dar nu a mers, se putea accesa din browser, apoi daca am pus asa :

Cod: Selectaţi tot

<files fisier.php>
 order allow,deny
 deny from all
</files>
Nu se putea accesa din browser, dar nici din alta parte dintr-un form prin ajax ...

acces in pagina doar la user logat

Scris: Mar Noi 14, 2017
de MarPlo
Nu mai merge sa accesezi din browser, ajax sau alt mod extern un fisier blocat cu .htacces.
Se poate accesa doar dintr-un script de pe server, de exemplu cu include() in alt fisier .php.

acces in pagina doar la user logat

Scris: Mar Noi 14, 2017
de cadou
Pai si pentru fisiere care nu ar trebui accesate extern/din browser, sa inteleg ca trebuie sa punem cumva conditii sa nu fie accesate direct din adress bar .... deci asta cu regula in htaccess cam pica ....

Re: acces in pagina doar la user logat

Scris: Sâm Feb 03, 2018
de Stefan
cadou scrie:
Mar Noi 14, 2017
Pai si pentru fisiere care nu ar trebui accesate extern/din browser, sa inteleg ca trebuie sa punem cumva conditii sa nu fie accesate direct din adress bar .... deci asta cu regula in htaccess cam pica ....
interzicere-accesare-directa-fisiere-t2611.htm , vezi acest topic