Newsgroup: it.comp.java
Titolo: AIUTO X PASSWORD E USER NAME

Cari ragazzi, spero di trovare qui la soluzione al mio problema. In un sito
che sto costruendo devo creare un'area riservata con accesso tramite user
name e password. Su 
www.html.it
 ho trovato questo script che vi riporto di
seguito
<HTML>
<HEAD>
<!-- Codice scaricato gratuitamente da HTML.it, il sito italiano sul Web
publishing
 
http://www.html.it
 -->
<TITLE>Esempi Javascript: esempio pratico </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
al="`1234567890-=~!@#$%^&*()_+qwer"
+"tyuiop[]QWERTYUIOP{}|asdfghjkl;A"
+"SDFGHJKL:zxcvbnm,./ZXCVBNM<>?";
ab1="";
bctr=0;
function unencr(val) {
 ab1z="";
 lsz=val;
 az=eval(lsz.substring(0,2))-91;
 lsz=lsz.substring(2,lsz.length);
 nlsz="";
 flgz=0;
 abz=eval(lsz.substring(0,2))-89;
 ab1z=(ab1z==""?""+abz:ab1z);
 oab1z=ab1z;
 lsz=lsz.substring(2,lsz.length);
 for (var i=0;i<abz;i++) {
  nrz=eval(lsz.substring(0,2))-az;
  lsz=lsz.substring(2,lsz.length);
  nlsz+=al.charAt(nrz);
 }
 return nlsz;
}
function ckPwd(){
 tst=document.isn.username.value
 +"*"+document.isn.passwrd.value+"*";
 ls=document.pd.pe.value;
 a=eval(ls.substring(0,2))-91;
 ls=ls.substring(2,ls.length);
 nls="";
 flg=0;
 while (ls.length>12){
  ab=eval(ls.substring(0,2))-89;
  ab1=(ab1==""?""+ab:ab1);
  oab1=ab1;
  ls=ls.substring(2,ls.length);
  for (var i=0;i<ab;i++){
   nr=eval(ls.substring(0,2))-a;
   ls=ls.substring(2,ls.length);
   nls+=al.charAt(nr);
   }
  nls+="*";
  if (nls.indexOf(tst)>-1){
   ls="";
   flg=1;
   }
  }
 if (flg==1){
  tstOk();
  }
 else{
  bctr++;
  if (bctr>3){
   location.href="newpwdss.htm";
   }
  else{
   alert("Spiacente. La tua password od il tuo nome sono errati."
   +" Riprova #"+bctr+".");
   }
  }
 }
function tstOk(){
 ab1=ab1+""+a;
 azzz = unencr(document.pd.pf.value);
 alert("Bene. Hai inserito correttamente user name e password "
  +document.isn.username.value+"! Stai per entrare nella pagina ad accesso
controllato"
  +" Clicca su OK per continuare.");
 location.href='new'+azzz+"?"+ab1;
}
function srand() {
 today=new Date();
 rand=today.getTime();
 picker=""+rand
 picker=picker.charAt((picker.length - 4));
 rec=eval(picker);
 }
function upLink(){
mw=window.open("","","scrollbars=1,resizeable=1,status=1,height=340,width=52
0");
 mw.location.href="msies.htm";
 }
// End Hiding -->
</SCRIPT>
</HEAD>
<BODY bgcolor="white">
<FORM NAME="pd">
<!-- Paste the element from the pseudo-encrypter here -->
<!-- Paste these elements into your main script
     named pwd.htm in the location indicated -->
<INPUT TYPE='hidden' NAME='pe'
VALUE='929368355777960518045676195293885230329557675767576797673378365730293
2975733783657302932 '>
<INPUT TYPE='hidden' NAME='pf' VALUE='9298362854535380573178 '>
</FORM>
<CENTER><FORM NAME="isn">
<TABLE BORDER=2 CELLPADDING=5 CELLSPACING=0 BGCOLOR=BLUE>
<TR><TD COLSPAN=2 ALIGN=CENTER><FONT SIZE=4 COLOR=WHITE
FACE="helvetica,arial,geneva"><B>Entra nella pagina <BR> ad accesso
controllato </B></FONT></TD></TR>
<TR><TD><FONT SIZE=3 COLOR=WHITE><B>Il tuo nome:</B></FONT></TD>
<TD><INPUT TYPE="text" NAME="username" VALUE="" SIZE=10></TD></TR>
<TR><TD><FONT SIZE=3 COLOR=WHITE><B>La tua password:</B></FONT></TD>
<TD><INPUT TYPE="password" NAME="passwrd" VALUE="" SIZE=10></TD></TR>
<TR><TD COLSPAN=2 ALIGN=CENTER><INPUT TYPE="button" NAME="btn" VALUE=" Vai
alla pagina " onClick="ckPwd();return false;"></TD></TR>
</TABLE></FORM></CENTER>
purtroppo vengono riportate solo le cinque coppie di user name e password
che occorrono per entrare, ma non viene spiegato come si personalizza lo
script cambiando le user name e password a proprio piacimento. Se ho intuito
bene, dovrebbe esserci un file esterno in cui sono riportate le varie coppie
di user name e password. Vorrei sapere da voi se la mia supposizione è
corretta e come devo impostare il file. Se invece sono in errore, vi prego
di illuminarmi sul corretto funzionamento dello script. Se poi esistono
sistemi migliori per raggiungere lo scopo, accetto volentieri dei
suggerimenti.
Mi chiedo anche come faccio ad assicurarmi che chi accede all'area riservata
passi sempre per il controllo di user name e password e non con accesso
diretto, magari perchè è già stato su quelle pagine e le ha aggiunte alle
"preferite".
Spero di essere stato chiaro e di ricevere al più presto delle risposte. Vi
ringrazio di cuore anticipatamente.
--
GENNARO MORRA
SITO INTERNET: 
www.viverenapoli.com
E-MAIL: 
webm...@viverenapoli.com
--
GENNARO MORRA
SITO INTERNET: 
www.viverenapoli.com
E-MAIL: 
webm...@viverenapoli.com


La pagina che riporti e` basata unicamente su del codice JavaScript. In
questo Newsgroup si parla di Java, che nonostante la somiglianza nel
nome, e` una cosa abbastanza diversa. In effetti consiglierei una
soluzione in Java del tuo problema, e piu` precisamente basata su
servlet (un programma che risiede sul server). Probabilmente pero` tu
non hai accesso al server sul quale poi verra` publicata la tua pagina,
quindi se non hai grandi pretese, come soluzione "molto primitiva ed
estremamente poco sicura" l'approccio javascript potrebbe pure andare...
a questo punto pero` dovresti chiedere sul NG giusto, e cioe`:
it.comp.lang.javascript 
-- 
Ciao,  |  I play Russian roulette everyday, a man's sport,
Matteo |  With a bullet called life, yeah called life, (SUGAR)

 La pagina che riporti e` basata unicamente su del codice JavaScript. In


 
Se ti e` permesso inserire programmi "lato server" scritti in java che
saranno poi eseguiti dal web-server (cioe` un programma CGI, che in java
si chiamano "servlet"), puoi farti un programmino che mantenga in un
DB/in un file su disco/da qualche parte la corrispondenza
nome<->password. Poi ti fai un'HTML con una FORM che richieda nome e
password all'utente e passi questi parametri alla servlet. La servlet si
occupa di generare al volo, o di redirigere il browser verso
la pagina da visualizzare a seconda se la password risulta esatta o
meno. Non e` molto complicato, ma se non sai programmare puo` iniziare
ad esserlo...
...un'altra soluzione senza dubbio piu` "professionale" e` quella di
appoggiarsi ad LDAP per l'autenticazione. In questo caso non devi
programmare proprio nulla, ma solamente configurare la sicurezza sul
server: rendere determinate risorseaccessibili solamente a degli
utenti autorizzati. LDAP mantiene in un proprio database le
corrispondenze fra username e password, e quando viene richiesta una
risorsa "protetta", il browser visualizza automaticamente la classica
finestrella "inserisci nome/password". Se questi corrispondono l'accesso
alla risorsa e` consentito, altrimenti si viene rediretti alla solita
pagina "access denied".
Questo richiede ovviamente un servizio LDAP correttamente installato e
configurato, ed integrato nell'Application Server che gestisce le
richieste delle risorse. Insomma: devi avere il controllo "completo"
della macchina, non basta poter fare l'upload!
Anche x le servlet il discorso e` simile: oltre a poterle copiare sul
server, devi controllare se la configurazione dello stesso e` in grado
di eseguirle, e se questo "privilegio" ti e` concesso.
Con un'applet si puo` fare... ma IMHO non viene una gran cosa: ti fai
un'applet che permetta l'inserimento di username e password, mantiene
codificati al suo interno (o apre una connessione verso il server da cui
e` stata caricata) la giusta corrispondeza fra username e password, e
quindi puo` decidere a quale pagina redirigere il browser (o se mostrare
o meno dei dati) a seconda se la password e` corretta o meno.
Unico vantaggio di tutto questo rispetto a javascript: non hai le
password nell'HTML!!
svantaggi:
 LDAP    - in pratica il server deve essere "tuo"
 servlet - richiede una certa conoscenza di java e programmazione CGI
 applet  - molto piu` "pesante", eventuali problemi di compatibilita`
           con i browser, insomma: i soliti.
Mi scuso per la superficialita` con cui ho "trattato l'argomento", ma
c'e` veramente troppo da dire, e sinceramente non ho ancora ben capito
cosa ti serva, e quali sono le tue possibilita` di interazione con il
server. Spero che cmq questo ti sia utile per farti un'idea.
-- 
Ciao,  |    Asche zu Asche
Matteo |    und Staub zu Staub

  |
|-----------------------------------------|
|       
http://www.pabasoftware.com
       |
+-----------------------------------------+


da parte mia nessuna obiezione!! :-)
...la risposta era "per completezza", visto che mi sembrava interessato
ad una soluzione in java.
sul PERL sono piu` che d'accordo!! Ma se non sa` programmare e se deve
scrivere lui la soluzione, e` idea comune pensare che sia piu` semplice
imparare Java del PERL... (non sono d'accordo, ma l'idea comune e`
questa! ;) Riguardo il PHP lo conosco troppo poco per dirne qualcosa, ma
ho sentito che se viene utilizzato "per altri scopi" oltre l'accesso ad
un DB, non e` immune da qualche rischio di sicurezza. Mettiamola cosi`:
la soluzione piu` semplice e` scaricarsi uno scriptino gia` pronto dalla
rete: 
http://cgi.resourceindex.com/


 questa! ;)
PERL.. il linguaggio "read only"? :-) Secondo me e' piu' facile Java..

Ringrazio davvero tutti. Ho trovato la soluzione su 
www.bravenet.com
 , che
offre la possibilità di limitare l'accesso ad alcune pagine del tuo sito
assegnando user name e password personalizzate. Unico incoveniente è che il
DB può comporsi solo di 20 elementi. Mi rendo conto che la soluzione è poco
professionale, ma in questo momento non posso mettermi a studiare ni
linguaggi. Anche scaricare script CGI e scaricarli sul server è un casino
perchè devono essere configurati bene.
GRAZIE DI NUOVO
