|
In aceasta sectiune vom prezenta cum se poate proteja o pagina dintr-un site folosind o parola. Exemplul de mai jos este facil de inteles, dar in acelasi timp, ofera o securitate de nivel scazut.
Obs.: Aceste scripturi nu sunt foarte sigure si pagina dvs. poate fi vazuta daca cineva ghiceste parola. Nu protejati nimic important cu un script ca acesta. Daca doriti ca documentele dvs. sa nu poata fii accesate de catre o persoana neautorizata, cautati un script CGI sau cereti administratorului serverului pe care este gazduit site-ul dvs. un fisier .htpassword.
Scriptul urmator ar trebui plasat in sectiunea HEAD a paginii pe care vreti sa o protejati (in acest caz http://www.site.ro/pagina.htm). Daca utilizatorul scrie parola „123456” in prompt, va avea acces mai departe la pagina. Daca scrie alt cuvant sau nimic, atunci pagina http://www.site.ro/pagina.htm va fi incarcata din nou.
<HEAD>
<SCRIPT language="JavaScript">
<!--
var parola;
var par1="123456";
parola=prompt('Introduceti parola pentru a avea acces mai departe!',' ');
if (parola==par1)
alert('Parola corecta! Apasati OK pentru a continua.');
else
{
window.location="http://www.site.ro/pagina.htm";
}
</SCRIPT>
</HEAD>
Daca ati citit capitolele anterioare, codul din exemplul de mai sus ar trebui sa va fie familiar.
Creeaza o variabila denumita ”parola".
Creeaza o parola care va fi acceptata de script. Variabila a fost denumita par1, in caz ca vrem sa avem mai multe parole (par2,par3,etc.).
parola=prompt('Introduceti parola
pentru a avea acces mai departe!',' ');
Aceasta instructiune creeaza un prompt unde utilizatorul poate introduce parola. Indiferent de ce utilizatorul scrie in prompt, variabila ”parola” va avea ca valoare sirul de caractere respectiv.
if (parola==par1)
alert('Parola corecta! Apasati OK pentru a continua.');
Aceasta este prima parte a instructiunii if/else, care verifica daca sirul de caractere introdus de utilizator (reprezentat de variabila ”parola”) este acelasi cu valoarea variabilei par1, singura care este acceptata. Daca se verifica conditia, este afisat un mesaj de avertizare care confirma ca parola scrisa de utilizator este corecta.
else
{
window.location="http://www.site.com/pagina.htm”;
}
Instructiunile din else sunt executate daca sirul de caractere introdus de utilizator nu este acelasi cu parola acceptata. Puteti redirectiona utilizatorul spre o pagina la alegere. IE se va comporta ca si cum pagina ar fi incarcata din nou. In Netscape veti vedea pagina protejata pentru o fractiune de secunda. De aceea acest script nu functioneaza perfect si este de preferat sa cautati altul mai sigur. In acest exemplu, daca utilizatorul nu a introdus parola corecta, browserul trece la adresa ”http://www.site.ro/pagina.htm”, dar aceasta poate fi inlocuita cu un alt url.
Ex. window.location="http://www.e-learn.ro";
Tot ce va mai ramane de facut este sa creati un link intr-o alta pagina prin care sa fie accesata pagina protejata.
Daca vreti sa aveti mai multe parole care sa verifice conditia, trebuie sa faceti cateva modificari in scriptul initial.
Mai intai, adaugati mai multe variabile care vor fi acceptate ca parole:
var par1="123456";
var par2="parola1";
var par3="parola2";
Apoi, modificati instructiunea ”if” astfel incat conditia sa includa si celelalte parole. Pentru aceasta, folositi operatorul || (sau):
if (parola==par1 || parola==par2 || parola==par3)
alert(''Parola corecta! Apasati OK pentru a continua”');
Aceasta inseamna ca daca utilizatorul a introdus ca parola unul dintre cele 3 cuvinte acceptate ("123456" SAU "parola1" SAU "parola3"), el va vedea pagina in continuare.
Iata scriptul modificat:
parola;
var par1="123456";
var par2="parola1";
var par3="parola2";
parola=prompt('Introduceti parola pentru a avea acces mai departe!',' ');
if (parola==par1 || parola==par2 || parola==par3)
alert(''Parola corecta! Apasati OK pentru a continua”');
else
{
window.location="http://www.site.com/pagina.htm";
}
Utilizatorul poate evita parola daca alege ca browserul sa nu recunoasca codul javascript. In acest caz, el poate vedea atat sursa paginii, cat si parolele, pe care le poate folosi mai tarziu. Deci, daca informatiile de pe pagina sunt importante, ar trebui sa folositi un script mai sigur.
Un alt exemplu
Scriptul prezentat ca exemplu in sectiunea anterioara permitea accesul la o pagina pe baza unei parole, dar exista o problema: in browserele Netscape, pagina ar fi fost afisata temporar chiar daca parola introdusa de vizitator era incorecta.
In aceasta sectiune, va vom prezenta acelasi script, cu diferenta ca vom folosi o pagina intermediara astfel incat pagina protejata sa nu fie vizibila nici pe Netscape.
Sa vedem codul de care veti avea nevoie:
1) Va trebui ca pe una dintre paginile dvs. sa aveti un link catre pagina intermediara. De exemplu, intr-un fisier "pagina.htm" aveti linkul "interm.htm":
"pagina.htm"
<BODY>
<A HREF="interm.htm">Link spre pagina intermediara</A>
</BODY>
2) Pentru a crea pagina intermediara, in exemplul nostru - "interm.htm", folositi urmatorul script:
"interm.htm"
<HTML>
<HEAD>
<TITLE>Pagina intermediara</TITLE>
<SCRIPT language="JavaScript">
<!--
var parola=prompt('Introduceti parola:','');
var par1="123456";
if (parola==par1)
{
window.location="pagprotej.htm";
}
else
{
window.location="pagina.htm";
}
</SCRIPT>
</HEAD>
<BODY> </BODY>
</HTML>
Dupa cum puteti vedea, daca parola este corecta, vizitatorul este redirectionat spre pagina protejata. In exemplul dat, aceasta este "pagprotej.htm".
Daca parola nu este corecta, browserul revine la pagina ce contine linkul spre pagina intermediara (in acest caz "pagina.htm").
|