Newsgroup: it.comp.lang.javascript
Titolo: Problem solving

Buonasera!
Allora, dato il seguente script di password, č possibile far si che
digitando il codice corretto si apra NON la pagina rinominata con il codice
numerico che compone la password ma una pagina a mia scelta?
Mi spiego meglio. Questo script non sarą sicurissimo ma per le mie esigenze
č mooolto carino.
Solo che lo posso utilizzare solo su UNA pagina del sito, a meno che non
imposti una password differente per ogni pagina successiva, e non č bello.
In alternativa, qualcuno conosce un altro script che fornisca una tastierina
numerica come questo ma la cui pagina protetta NON sia  <!--
location=code+".htm" --!> ma semplicemente <!-- location=nome
pagina.htm" --!>?????
Grazie a tutti quelli che ci proveranno!
Bye, Gerry
<HEAD>
<SCRIPT language="JavaScript">
<!--
var usermulcode=40
var code=0
var mul=1
var digit=0
var fails=0
function Enter_code(number)
{
code=code*10+number
mul=mul*number
document.codepad.thecode.value=code
digit++
if (digit==4)
{
if (mul==40)
{
location=code+".htm"
}
else
{
fails++
code=0
mul=1
digit=0
if (fails<3)
{
if (fails==1)
{document.codepad.thecode.value="riprova"}
if (fails==2)
{document.codepad.thecode.value="ultima volta"}
}
else
{
location="risposta.htm"
document.codepad.thecode.value="A presto!"
}
}
}
}
function keycodepad(mulcode)
{
usermulcode=mulcode
document.write("<form name=\"codepad\">");
document.write("<input type=\"button\" value=\" 1 \"
onClick=\"Enter_code(1)\">");
document.write("<input type=\"button\" value=\" 2 \"
onClick=\"Enter_code(2)\">");
document.write("<input type=\"button\" value=\" 3 \"
onClick=\"Enter_code(3)\"><br>");
document.write("<input type=\"button\" value=\" 4 \"
onClick=\"Enter_code(4)\">");
document.write("<input type=\"button\" value=\" 5 \"
onClick=\"Enter_code(5)\">");
document.write("<input type=\"button\" value=\" 6 \"
onClick=\"Enter_code(6)\"><br>");
document.write("<input type=\"button\" value=\" 7 \"
onClick=\"Enter_code(7)\">");
document.write("<input type=\"button\" value=\" 8 \"
onClick=\"Enter_code(8)\">");
document.write("<input type=\"button\" value=\" 9 \"
onClick=\"Enter_code(9)\"><br>");
document.write("<input type=\"text\" name=\"thecode\" size=10
value=\"\"><br>");
document.write("</form>");
}
// -->
</SCRIPT>
</HEAD><BODY>
<FORM name="codepad"><INPUT type="button" value=" 1 "
onClick="Enter_code(1)"><INPUT type="button" value=" 2 "
onClick="Enter_code(2)"><INPUT type="button" value=" 3 "
onClick="Enter_code(3)"><BR><INPUT type="button" value=" 4 "
onClick="Enter_code(4)"><INPUT type="button" value=" 5 "
onClick="Enter_code(5)"><INPUT type="button" value=" 6 "
onClick="Enter_code(6)"><BR><INPUT type="button" value=" 7 "
onClick="Enter_code(7)"><INPUT type="button" value=" 8 "
onClick="Enter_code(8)"><INPUT type="button" value=" 9 "
onClick="Enter_code(9)"><BR><INPUT type="text" name="thecode" size=10
value=""><BR></FORM>
</BODY>
-- 
Posted from 
imap4.eplanet.it
 [213.136.129.249] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 }
 Hai provato mettendo al posto di code il nome della tua pagina ?
 se la tua pagina si chiama pappa.htm
 scrivi:
 if (mul==40)
 {
   location=pappa.htm   // al posto di code+".htm"
 }

funziona qualsiasi password il cui risultato sia 40.
Invece di moltiplicarli puoi aggiungerli, toString(), uno all' altro,
es:
var usermulcode="2"+"5"+"2"+"2" ti da "2522" e solo "2522",
e ottenere:location=usermulcode+".htm".
Oppure, con parseInt(usermulcode) trasformi ancora la var in numero, cioè
2522,
ora al posto di 40 hai 2522 e solo quello, poi ci fai quello che vuoi.
Sul fatto di avere due location con una password forse non ho capito cosa
intendi.
Una password ti apre una porta
Due password ti aprono,
o una stessa porta,
o due porte diverse.
Ciao
www.gfcarlotti.it
fra...@gfcarlotti.it

Hai provato mettendo al posto di code il nome della tua pagina ?
 se la tua pagina si chiama pappa.htm
 scrivi:
 if (mul==40)
 {
   location=pappa.htm   // al posto di code+".htm"
 }
Ho provato.
location=pappa.htm   // al posto di code+".htm"
location=pappa.htm"   // al posto di code+".htm"
location=pappa".htm"   // al posto di code+".htm"
location=pappa+".htm"   // al posto di code+".htm"
Ma non va...
:-((
-- 
Posted from 
smtp.eplanet.it
 [213.136.129.249] 


Ma non va...
Qui, pappa č intesa come variabile,come code.
Prova cosě:
location="pappa.htm"         /*apre una pagina di nome "pappa.htm"*/
location="pappa"+".htm"    /*apre una pagina di nome "pappa.htm"*/
var pappa="miaPagina";
location=pappa+".htm"       /*apre  una pagina di nome "miaPagina.htm"*/
var pappa="miaPagina.htm";
location=pappa ;                 /*apre  una pagina di nome
"miaPagina.htm"*/
Ciao
www.gfcarlotti.it
fra...@gfcarlotti.it

Qui, pappa è intesa come variabile,come code.
Prova così:
location="pappa.htm"         /*apre una pagina di nome "pappa.htm"*/
location="pappa"+".htm"    /*apre una pagina di nome "pappa.htm"*/
var pappa="miaPagina"; location=pappa+".htm"       /*apre  una pagina di
nome "miaPagina.htm"*/
var pappa="miaPagina.htm"; location=pappa ;                 /*apre  una
pagina di nome "miaPagina.htm"*/
location="pappa.htm"
location="pappa"+".htm"
funzionano e in effetti digitando la password corretta mi aprono la pagina
denominata pappa.htm
Il problema, però, che nell'esempio qui riportato la password generata dalla
riga di codice
var usermulcode=40
è 2514 che non è altro che il risultato della moltiplicazione di: 2*5*1*4,
che fa appunto 40
MA, lasciando la location=code+".htm"  si apre la pagina corretta SOLO se la
password  viene digitata con la corretta sequenza, anche se il risultato 40
può essere raggiunto anche con 2*5*2*2, 1*2*4*5, 5*2*1*4
Se invece inposto la location come
location="pappa.htm"    oppure
location="pappa"+".htm"
funziona qualsiasi password il cui risultato sia 40.
Insomma non c'è verso di avere due location diverse con un'unica password
numerica...
:-((
Grazie a tutti.
Gerry
