Developer.sk
spacer spacer
spacer   developer.sk Home | Fórum | Guestbook | Reklama 
black dot
 
black fade
spacer
   
Home
Fórum
Guestbook
Developers Zones
Internet
HTML Zone
HTML Tools
CGI Zone
ASP Zone
PHP Zone
CSS Zone
MySQL
XML / XHTML
Tipy a Triky
Bookmarx
Zaujímavé www
JavaScript
WebServers
WebDesign
Grafika
Developer Whois
Search Zone
Links
Novinky/O nás
Reklama
  Special Features
Tipy a Triky -- INTERNET
Tipy a Triky -- ASP
Tipy a Triky -- JavaScript
Tipy a Triky -- VBScript
  
Odkazy
Builder
Interval
C|net Builder
Manuály.sk
Root
NewOrder
Developer.com
Developer.cz
Miesto.sk
Žive.sk
InZine
SuperZoznam
Zoznam
LTC Design
PC
spacer
 
JavaScript

Náš Tip : Zapojte sa do diskusie o Vašich problémoch na adrese http://forum.developer.sk/.

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.

Najskôr si vyskúšame ako to celé funguje. Kliknite ne tento odkaz a na nasledujúcej stránke pri dotazovaní sa na heslo zadajt "page2".

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="#FFFFFF">
<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 :)

-mn- Mail pre autora

spacer
K o m u n i k u j m e
Fórum
Guestbook
R e k l a m a
Reklama_mala_190*50 Reklama_mala_190*50
I n t e r n e t N e w s

Mozilla Milestone (teda vývojová verzia Netscape) rázne napreduje a pomaly sa blíži do finále. Na Slashdote sa objavila informácia o aktuálnom uvedení verzie M15. Viac informácií hľadajte na Mozille. [20.4.00]

Slovenský Internet sa postupne zapľňa kvalitnými spravodajskými servermi a jedným z nich je najnovšie aj Load.sk, ktorého šéfredaktorom je Ľuboš Haško. 20.4.00]

FBI sa v podarilo v Kanade odhaliť hackera, ktorý vo februári tohto roku mal na svedomí celú sériu útokov na najzámejšie svetové serveri (napr. Yahoo a CNN). Píše o tom Ladislav Zajicek vo svojich News on Net. [20.4.00]

Výborný archív software pre vašu prácu s webom, vo veľkom množstve a hlavne často aktualizovaný hľadajte na novej adrese serveru Interval: http://download.interval.cz. [19.4.00]

Potrebujete optimalizovať obrázky na svojeje internetovej stránke a hľadáte na túto činnosť nejaký vhodný program? Skúste napríklad CompressJpg 1.0, o ktorom sa viacej dozviete na stránkach Žive.cz. [19.4.00]

Kancelársky balík StarOffice 5.2 spoločnosti Sun by mal byť k dispozícii v českej verzii už v máji tohto roku. Kedy sa dočkáme slovenskej verzie, to sa zatiaľ zo stránok slovenského Sun Microsystems nedá zistiť. [17.4.00]

Radi by ste vaše stránky obohatili o nejaké užitočné javascriptíky? Žiaden problém, na Intervale sa dnes môžete dozvedieť ako presmerovať návštevníka stránky podľa použitého prehliadača, podľa operačného systému, alebo ako vypísať rozlíšenie vášho monitora. [17.4.00]

Presný a detailný popis odosielania formulárov pomocou JavaScriptu dnes hľadajte na Intervale. Skutočne vyčerpávajúci popis vás to dokonale naučí. [12.4.00]

K o n t a k t
Martin Nemeček
nemecek@developer.sk
Sväťo Straka
straka@developer.sk
Jany Masaryk
jan_masaryk@yahoo.com

spacer

Get it right firs width Oracle.com Suite