Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    6

    Password in javascript, utile ma non funziona...

    Ho pubblicato per un cliente una pagina riassuntiva, relativa a tutti i dati del dominio: codici ftp, scadenza dominio, link al webmail con password appuntate, link alla gestione caselle di posta, ecc... Un utile strumento per monitorare il dominio e accedere alla posta da un'unica pagina.
    Ovviamente la pagina è accessibile solo digitando un percorso diretto e riservato, non attraverso link dal sito.

    Problema: come posso proteggere l'accesso dall'indicizzazione dei motori di ricerca? Qualcuno potrebbe trovarla casualmente cercando parole come "password" o "accesso posta"...
    Ho trovato questo script, proposto spesso sul forum come consiglio. Andrebbe benissimo per un grafico che non conosce perl, php o gestione lato server ...se funzionasse bene:

    <script language="JavaScript">
    function passWord() {
    var testV = 1;
    var pass1 = prompt('Inserisci la tua Password');
    while (testV < 3) {
    if (!pass1) history.go(-1)
    if (pass1.toLowerCase() == "italia ") {
    alert('La tua password è esatta');
    break;
    }
    testV+=1;
    var pass1 = prompt('Sbagliato! Puoi riprovare.','Password');
    }
    if (pass1.toLowerCase()!="altro" & testV ==3) history.go(-1);
    return " ";
    }
    document.write(passWord());
    </script>


    A) Accettando il testo proposto dallo script si accede! (errore)

    1° tentativo: undefined = accesso negato
    2° tentativo: Password = accesso negato
    3° tentativo: Password = accesso consentito!

    B) Inserendo una password errata si accede al terzo tentativo! (errore)

    1° tentativo: sazdftgxh = accesso negato
    2° tentativo: jlkmdsfds = accesso negato
    3° tentativo: etyfyijii = accesso consentito!

    C) Inserendo alternativamente al primo, secondo e terzo tentativo la password corretta (italia) si accede (OK)

    1° tentativo: sazdftgxh = accesso negato (italia = accesso consentito)
    2° tentativo: jlkmdsfds = accesso negato (italia = accesso consentito)
    3° tentativo: italia = accesso consentito

    In pratica si accede sempre!!!

    Ho provato a variare
    ---history.go(-1)---
    con
    ---location.href = "risposta.htm"---


    <script language="JavaScript">
    function passWord() {
    var testV = 1;
    var pass1 = prompt('Inserisci la tua Password');
    while (testV < 3) {
    if (!pass1) history.go(-1)
    if (pass1.toLowerCase() == "italia ") {
    alert('La tua password è esatta');
    break;
    }
    testV+=1;
    var pass1 = prompt('Sbagliato! Puoi riprovare.','Password');
    }
    if (pass1.toLowerCase()!="altro" & testV ==3) location.href = "risposta.htm";
    return " ";
    }
    document.write(passWord());
    </script>


    Ripetiamo le procedure facendo, come sopra, diversi tentativi:

    A) Accettando il testo proposto dallo script non si accede! (OK)

    1° tentativo: undefined = accesso negato
    2° tentativo: Password = accesso negato
    3° tentativo: Password = accesso negato

    B) Inserendo una password errata non si accede! (OK)

    1° tentativo: sazdftgxh = accesso negato
    2° tentativo: jlkmdsfds = accesso negato
    3° tentativo: etyfyijii = accesso consentito!

    C) Inserendo alternativamente al primo e secondotentativo la password corretta (italia) si accede, inserendola al

    terzo tentativo non si accede! (errore)

    1° tentativo: sazdftgxh = accesso negato (italia = accesso consentito)
    2° tentativo: jlkmdsfds = accesso negato (italia = accesso consentito)
    3° tentativo: italia = accesso negato

    Quest'ultima versione dello script sembra funzionare meglio ma c'è un errore nel caso C-3

    Provare per credere (password = italia):
    Versione 1) index1.htm
    Versione 2) index2.htm

    Cosa non funziona nel caso dell'history.go(-1)?
    Come si può modificare lo script per avere solo una possibilità di inserimento password?

    Grazie della consulenza da questo utilissimo sito.

  2. #2
    Non è assolutamente sicuro (oltre che per nulla professionale) effettuare un sistema di autenticazione che si supera semplicemente disabilitando javascript nel proprio browser. Questo da sconsigliato diventa assolutaemente vietato quando si devono proteggere dati sensibili quali password del dominio o di caselle di posta elettronica.
    Quindi, ti spiego una cosa che può fare anche un grafico che nn conosce php :P.

    Mi pare di capire che devi proteggere una sola pagina giusto? Ipotiziamo che usi php (se poi sei su windows dimmelo che ti faccio la versione asp).

    Pagina1: conetiene un form con un campo password ed un bottone invia.
    Pagina2 (action di quel form). Prende i dati dal campo password LATO SERVER. Confronta la password con una stringa salvata LATO SERVER se è corretta visualizza i dati se no fa il redirect a Pagina3
    Pagina3: redirect in caso di errori.

    pagina1.php:

    <form method='post' action='pagina2.php'>
    <input type='password' name='pwd'>
    <input type='submit' value='accedi'>
    </form>

    pagina2.php

    $strRightPassword="italia";

    if ( ! isset( $_POST["pwd"] ) ){
    header("Location: pagina3.php");
    exit();
    }else{
    $strUserPwd=trim($_POST["pwd"]);
    }


    if (strcmp($strUserPwd,$strRightPassword) !=0){
    header("Location: pagina3.php");
    exit();
    }else{

    contenuto di tutta la pagina

    }


    Il controllo è CASE SENSITIVE. Bada bene che la password non contenga spazi all'inizio o alla fine, quindi:

    $strRightPassword="italia"; // è corretto

    $strRightPassword="italia"; // non è corretto

    $strRightPassword="italia"; // non è corretto

    $strRightPassword="italia"; // non è corretto




    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    6
    Sono su windows... meglio in ASP.
    Non che lo conosca un granchè ma sicuramente di più che php.
    I miei problemi iniziano quando devo far lavorare per me il server, finora ho solo pubblicato in ftp, al massimo ho inserito dei contatori in asp...

    Rendimi le cose semplici, sono d'accordo che bisogna proteggere i dati sensibili ma devo riuscirci senza impazzire o imparare un nuovo linguaggio di programmazione...

    grazie

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Merlin
    Rendimi le cose semplici, sono d'accordo che bisogna proteggere i dati sensibili ma devo riuscirci senza impazzire o imparare un nuovo linguaggio di programmazione...

    grazie
    Vediamo se qualche anima pia nel forum ASP ti regala uno script gia' pronto...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    6
    Spero proprio che qualcuno mi offra una soluzione semplice per risolvere il problema di protezione di una pagina in ASP.

    Mi raccomando, uno scriptino ASP semplice semplice, a prova di grafico... vediamo chi ci riesce.

    ciao a tutti

  6. #6
    ok per php, ma alla fine cmq mettici unset($_POST['pwd']);
    così te la distrugge

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da urukappa
    ok per php, ma alla fine cmq mettici unset($_POST['pwd']);
    così te la distrugge
    Sei vicino al record per risposta data in ritardo...
    Se poi mettiamo anche la soluzione (?) PHP nel forum ASP
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    crei una pagina per il login, ad esempio login.html
    che ha solo un campo testo (chiamato ad esempio password)
    ed un pulsante di invio.
    L'action del modulo punta alla pagina principale, ad esempio main.asp
    nella pagina main.asp come prima cosa metti questo codice:

    if request.form("password") <> "chiave" then response.redirect("login.html")

    il funzionameno è questo: quando viene caricata la pagina main.asp
    viene letto il valore del campo chiamato "password"
    che proviene dal modulo della pagina precedente e se questo è
    diverso dalla parola preimpostata, in questo caso chiave,
    allora rimanda alla pagina di login.
    E' una autenticazione elementare ma funzionante.
    Per quanto riguarda l'indicizzazione dei motori di ricerca,
    se non è presente nessun link nel sito che porti a questa pagina
    è impossibile che venga indicizzata.
    Per sicurezza, puoi inserire questo meta tag nelle pagine login e main:
    <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
    cosi eviti che vengano indicizzate se in qualche modo raggiunte.
    Puoi anche mettere le mani al file robots.txt, se presente,
    per evitare che le pagine interessate possano venire trovate e indicizzate.
    luca
    www.intheweb.it - Internet solutions

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.