E' da tanto ormai che volevo buttare fuori una mia pillola...e quale pillola migliore del tanto amato ed odiato argomento "password in JavaScript!"
navigando sul forum c'è confusione...come si creano dei log-in in JS???, sono sicuri???, conviene???
beh,le risposte più classiche che potete trovare sul forum sono: [b]no, nessun linguaggio lato client è sicuro, solo il lato server...e per quelli che non si possono permettere uno spazio a pagamento????
:gren: tranquilli ale è qui per questo!!! :gren:
il codice è composto da una pagina (pass.htm)di log-in(dove non mi soffermerei molto):
Codice PHP:
<html>
<head>
<title>Pass</title>
</head>
<script language="JavaScript" src="controllo.js"></script>
<script language="jscript" src="iexplorer.js" defer>
</script>
<style type="text/css">
.tabella {
border-width: 2;
background : #D3D3D0;
border : thin solid Black;
}
</style>
<body onLoad="myForm.userid.focus()">
<form name="myForm" method="post">
<center>
<table cellpadding="5" cellspacing="0" width="40%" class="tabella">
<tr>
<td colspan="2">
<center>
<h3>Riconoscimento Utente</h3>
</center>
</td>
</tr>
<td>
<center>
<h4>UserID</h4>
</center>
</td>
<td><input type="text" name="userid" size=10></td>
<tr>
<td>
<center>
<h4>Password</h4>
</center>
</td>
<td><input type="password" name="pwd" size=10></td>
</tr>
<tr>
<td>
<center><h3>
[url="javascript:void(0);"]ENTRA[/url][img][/img]
</h3></center>
</td>
<td>
<center><h3>
[url="javascript:void(0);"]CANCELLA[/url]
</h3></center>
</td>
</tr>
</table>
</center>
</form>
</body>
</html>
che richiama 2 script esterni, uno in JavaScript...completamente riconosciuto da qualsiasi browser (chiamato controllo.js)....
Codice PHP:
function Invio(){
//variabili password e userid
pwd=document.myForm.pwd.value;
userid=document.myForm.userid.value;
//setta action form
document.myForm.action="http://space.virgilio.it/gemma.bendelari@tin.it/"+pwd+"/"+userid+".htm";
//controlla che tutti i campi siano compilati
if((pwd=="")||(userid=="")){
alert("Campi Obligatori");
}
//se si ed il browser è IE esegue la funzione (in JScript)
//per la validità della password e del userid
else if((document.all)&&(navigator.userAgent.indexOf("Opera") == -1)) { // Explorer
setTimeout("controllo(1)",500);
}
//se il browser non è IE prova a reindirizzare direttamente alla pagina
else // Browser non IE
document.links[0].href=document.myForm.action+"?"+document.myForm.userid.value;
document.links[0].click();
}
ed uno in JScript (grazie br1
) riconosciuto purtroppo soltanto da IE (chimato iexplorer.js)
Codice PHP:
function controllo(n) {
//src dynamic
document.wFile.dynsrc=document.myForm.action;
if(document.wFile.fileSize>-1){
alert("User OK!\nPass OK!\n"+"Dimensione: "+document.wFile.fileSize+" bytes.");
var destinazione=document.myForm.action+"?"+document.myForm.userid.value;
document.links[0].href=destinazione;
document.links[0].click();
}
else if(n==1){
setTimeout("controllo(2)",500);
}
else
alert("User o Pass sbagliate!.");
}
mediante la combinazione della userid e della password riesco ad accedere ad una mia area riservata (utente.htm).....
Codice PHP:
<html>
<head>
<title>Area Riservata di</title>
<script language="JavaScript" src="riservato.js"></script>
</head>
<body bgcolor="pink">
</body>
</html>
e qui sta il bello...:gren: :gren: mediante una semplicissima funzione contenuta nel file riservato.js riesco a capire se l'utente proviene o meno dalla mia pagina di log-in e se non lo reindirizzo in tale pagina
(riservato.js)
Codice PHP:
//serve per verificare la provenienza dell'utente
var provenienza=document.referrer;
//serve per includere nella pagina il nome dell'utente
var utente = location.search.substr(1);
//controllo che l'utente provenga dalla pagina di log-in
if((provenienza=="")||(provenienza!="http://space.virgilio.it/gemma.bendelari@tin.it/pass.htm")){
document.location.href="http://space.virgilio.it/gemma.bendelari@tin.it/pass.htm";
}
//se si lo fa accedere alla pagina
else if(provenienza=="http://space.virgilio.it/gemma.bendelari@tin.it/pass.htm"){
document.title+=" "+utente;
document.write("<center><h3>Benvenuto nella tua area riservata, "+utente+".</h3></center>");
}
il risultato finale è qui ed il bello è che anche se l'utente si collega direttamente alla pagina riservata verrà comunque reindirizzato al log-in....
NATURALMENTE RIMANE TUTTORA VALIDO IL DISCORSO DELLA SCARSA SICUREZZA DI JAVASCRIPT MA PER APPLICAZIONE PERSONALI PENSO CHE POSSA ANDARE PIU' CHE BENE, GIUDICATE VOI