Hlavnß strßnka · DiskusnΘ F≤rum · PracovnΘ prφle₧itosti · Zoznam

 Main Menu
o Hlavnß strßnka
o Zoznam tΘm
o Zoznam
o OdporuΦte nßs
o U₧φvatelia
o VaÜe konto
o Pridaj Φlßnok
o ètatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyh╛adßvanie
o F≤rum
o Workoffice
o Zoznam Φlßnkov
o Reklama
o Pridaj Φlßnok
o Pridaj novinku

NapφÜte nßm
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Äiv∞.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o F≤rum ::
o Markup languages
o ScriptovΘ jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tΘmu ::

 PracovnΘ prφle₧itosti
o Pon·kate prßcu?
o H╛adßte prßcu?

 Autori developer.sk
o Martin NemeΦek
o SvΣ¥o Straka
o Jany Masaryk
o Jozef Murφn

 
JavaScript [ 16. March 2000] - Martin_Nemecek
JavaScript: Ochrana vstupu na strßnku pomocou hesla
Ukß₧eme si ako pomocou JavaScriptu zabespeΦφme naÜu strßnku pred neoprßvnen²m vstupom nepovolan²ch nßvÜtevnφkov.



Ukß₧eme si dva sp⌠soby ako na to a bude len na vßs ak² sp⌠sob si vyberiete.

Cel² systΘm je zlo₧en² z viacer²ch funkciφ a postupn²ch krokov, ktorΘ na seba nadvΣzuj·. V prvom rade si zadefinujeme funkciu gateKeeper(). Tß bude zabespeΦova¥ na vstupnej strßnke otvorenie novΘho okna (po kliknutφ na odkaz ved·ci do chrßnenej oblasti) v ktorom bude formulßrovΘ pole na vyplnenie hesla. Celß funkcia bude vypada¥ nasledovne:

function gateKeeper() {
nifty_little_window = window.open('gatekeep.html', 'theKeeper',
'width=350,height=200,resizable=1');
}

Cel² nßÜ prφklad sa bude sklada¥ z 3 s·borov. Prv² si nazveme protect.html a bude obsahova¥ u₧ spomenut² script s funkciou gateKeeper().

<HTML>
<HEAD>
<TITLE> Protect Page - Gate Keeper - protect.html</TITLE>
</HEAD>
<BODY BGCOLOR="<SCRIPT LANGUAGE="javascript">
<!--- Skry¥ pred starÜφmi browsermi
var nifty_little_window = null;
function gateKeeper() {
nifty_little_window = window.open('gatekeep.html', 'theKeeper',
'width=350,height=200,resizable=1');
}
// End hiding --->
</SCRIPT>
<form>
<input type="button" value="Kliknite sem" onClick="gateKeeper()">
</form>
</BODY>
</HTML></B>

V predchßdzaj·com k≤de si m⌠₧eme vÜimn·¥ okrem klasickΘho zadefinovania znßmej funkcie gateKeeper() odkaz - tlaΦφtko, na ktorΘ je viazanß udalos¥ onClick, ktorΘ volß naÜu znßmu funkciu.

Tßto bude obsahova¥ dve nasledovnΘ funkcie, prva s nßzvom goForit(), ktorß nßm vyhodnotφ zadanΘ heslo. Ke∩ nßjde strßnku s nßzvom "heslo".html, potom ju zobrazφ ak nie tak smola :) M⌠₧eme si vÜimn·¥, ₧e celß autorizßcia pomocou hesla je polo₧enß na nßzve konkrΘtnej HTML strßnky a porovnanφ zadanΘho hesla s jej nßzvom. Teraz u₧ s╛·benß funkcia:

function goForit() {
var location;
var password;
password=this.document.testform.inputbox.value
location=password + ".html"
fetch(location)
theKeeper=window.close()
}

Teraz bude nasledova¥ strßnka gatekeep.html, ktorß bude obsahova¥ pole na vyplnenie po₧adovanΘho hesla a vlastn² vykonßvacφ mechanizmus.

<HTML>
<HEAD>
<TITLE>Gate Keeper</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--- Skry¥ pred starÜφmi browsermi

function goForit() {
var location;
var password;
password=this.document.testform.inputbox.value
location=password + ".html"
fetch(location)
theKeeper=window.close()
}

function fetch(location) {
var root;
if (opener.closed) {
root=window.open('','theKeepersGopher','toolbar=yes,location=yes,status=yes,
menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no');
root.location.href = location;
} else {
opener.location.href = location;
}
}
// koniec skr. --->
</SCRIPT>


</HEAD>
<BODY>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD ROWSPAN=2 WIDTH=50%>>
  
<TD WIDTH=50% ALIGN=CENTER VALIGN=MIDDLE>
<FONT FACE="ARIAL" SIZE=2><B>Pok·Üate sa vst·pi¥ do chrßnenej oblasti. Zadajte
prosφm VaÜe prφstupovΘ meno a heslo.</B></FONT>
 
<TR>
<TD WIDTH=50% ALIGN=CENTER VALIGN=BOTTOM>
<CENTER>
<FORM NAME="testform">
<INPUT TYPE="text" NAME="inputbox" VALUE="" size=20>
<INPUT TYPE="button" NAME="button" Value="Submit Password" onClick="goForit(this.form)">
</FORM>
</CENTER>
</TABLE>
</BODY>
</HTML>

Tak₧e to╛ko k samotnej ochrane vaÜej strßnky t²mto sp⌠sobom. Ukß₧eme si teraz druh² sp⌠sob, troch jednoduchÜφ a nenßroΦnejÜφ. FunkΦn² prφklad bude vypada¥ nasledovne (vlo₧te heslo "heslo1"):

A zdrojov² k≤d bude vypada¥ nasledovne:

<SCRIPT>
function passWord() {
var testV = 1;
var pass1 = prompt('Vlo₧te prosφm VaÜe heslo',' ');
while (testV < 3) {
if (!pass1)
history.go(-1);
if (pass1.toLowerCase() == "heslo1") {
alert('Sprßvne!');
window.open('protectpage.html');
break;
}
testV+=1;
var pass1 =
prompt('Prφstup zamietnut² - Heslo nesprßvne.','Password');
}
if (pass1.toLowerCase()!="password" & testV ==3)
history.go(-1);
return " ";
}
</SCRIPT>
<CENTER>
<FORM>
<input type="button" value="Vstup do chrßnenej oblasti" onClick="passWord()">
</FORM>
</CENTER>

Tak₧e to by sme mali. Sami m⌠₧ete vidie¥ ₧e sa jednß o jednoduch² sp⌠sob zabespeΦenia HTML strßnok. PokroΦilejÜie funkcie zabespeΦenia je potrebnΘ h╛ada¥ v systΘme ak²m je ASP, PHP, alebo CGI ... ale pre zaΦiatok staΦφ. Majte sa krßsne. Do ∩alÜieho javascriptovania :)

 
 PrφsluÜnΘ odkazy k tΘme
  • Javascript.sk
    Viac o tΘme: JavaScript | InΘ Φlßnky od: Admin | PoÜli komentßr | Strßnka vhodnß na tlaΦ width=15 height=11  PoÜli tento Φlßnok priate╛ovi, znßmemu width=15 height=11


    NajΦφtanejÜie Φlßnky JavaScript:
    Pulldown menu a tabu╛ka odkazov

    ╧alÜie Φlßnky v rubrike JavaScript:

  •  

    "JavaScript: Ochrana vstupu na strßnku pomocou hesla" | Login / vytvor konto | 1 Komentßr
    Prah
    Za obsah komentßrov je zodpovedn² u₧φvate╛, nie prevßdzkovate╛ t²chto strßnok.

    Re: JavaScript: Ochrana vstupu na strßnku pomocou hesla (Sk≤re: 0)
    k²m: Anonym d≥a 30. May 2001

    Ma to jeden neosetreny bug:
    ked dam cancel, tak sa vola history.back() -
    - jednak by som rad ostal na stranke, z ktorej sa okno otvorilo
    - a jednak pokial je moja history prazdna, tak to hadze chybu.

    [ Odpove∩ ]




    AutorskΘ prßva: á ⌐1999 - 2001 Developer Zone [developer@developer.sk]

    VÜetky Φlßnky s· vlastnφctvom autorov Developer Zone. VÜetky prßva vyhradenΘ. Strßnky Developer.sk s· vytvorenΘ pomocou PHP-Nuke.
    Odkazy na novΘ Φlßnky je mo₧nΘ prebera¥ pomocou:Backend.php.