Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Script PHP login che con IE non funge

    Salve a tutti.
    Navigando per il web ho trovato un semplice script in php che permette un livello base di protezione ad alcune aree riservate di un sito.
    Si compone di 3 pagine, più una dove inserisco i dati (username e password) degli utenti che mi contattano per l'accesso.
    L'ho modificato in base alle mie esigenze, ma il problema è che, testando il codice sul mio sito con Mozilla Firefox funziona a meraviglia, mentre invece con IE la pagina di login si blocca (cliccando su 'Accedi', gira a vuoto). Il problema però si è presentato anche ad una mia amica, la quale ha problemi anche con Firefox e addirittura con Opera ...mentre invece un mio amico non ha alcun problema, nemmeno con IE

    Posto i codici, anche se credo che il problema risieda nelle impostazioni cookie dei browser...ma in ogni caso non saprei cosa fare quindi ...help!!!

    login.php:
    Codice PHP:
    <?php
    session_start
    ();
    if (isset(
    $_POST["invio"])) {
      
    $puntatore fopen("INDIRIZZO DEL FILE CHE CONTIENE I DATI NOMEUTENTE E PASSOWRD.txt""r");
      
    $trovato 0;
      while ((!
    feof($puntatore)) && (!$trovato)) {
        
    $linea fgets($puntatore);
        
    $trovato stristr($linea$_POST["userid"]);
        
    $puntatore++;
      }
      
    fclose($puntatore);
      list(
    $nomeutente$password) = split("~:~"$linea);
      if ((
    $trovato)  && ($_POST["passwd"] == trim($password))) {
        
    session_register('autorizzato');
        
    $_SESSION["autorizzato"] = 1;
        
    $destinazione "INDIRIZZO PRIMA PAGINA PROTETTA.php";
      } else {
        
    $destinazione "destroy.php";
      }
      echo 
    '<script language=javascript>document.location.href="'.$destinazione.'"</script>';
    } else {
      
    // HTML ?>
    <? session_start
    (); ?>
    //codice HTML
        <form method="post" action="login.php">
        <.........>
         </form>
    <? //fine HTML
    }
    ?>
    Se i dati non sono corretti, l'accesso viene bloccato con questo script che reindirizza alla pagina iniziale:

    destroy.php
    Codice PHP:
    <?php
    session_start
    ();
    session_unset();
    session_destroy();
    ?>
    <script language="JavaScript">
    document.location.href = "INDIRIZZO"
    </script>
    Questo è lo script che verifica l'accesso, e nel caso non sia stato effettuato, reindirizza ad una pagina che notifica l'errore:

    check.php
    Codice PHP:
    <?php
    session_start
    ();
    if (!
    session_is_registered('autorizzato')) {
      
    header ("Location: INDIRIZZO"); 
      die;
    }
    ?>
    Naturalmente, ogni pagina protetta ha la seguente stringa
    Codice PHP:
    <? include("check.php"); ?>
    prima del tag <html>.


  2. #2
    lo script non usa cookie.

    è possibile vedere una prova di questo codice e/o avere informazioni dettagliate in merito?

  3. #3
    So che lo script non usa cookie, ma non so davvero più cosa pensare

    Ecco la prova del codice:

    Prova Login

    Le info dettagliate sul codice sono tutte quelle che ho provveduto.

    Per provare l'accesso, ho impostato questi due utenti:

    Admin - admin
    Admin2 - admin2

    *Se dalla Home si prova ad accedere all'Area Protetta senza fare il login, compare una pagina di errore che reindirizza alla home
    *Se invece si prova a fare il login senza aver effettuato la registrazione o con dati erronei si viene reindirizzati alla home
    *Se si effettua l'accesso con i dati esatti si accede all'area riservata

  4. #4
    A me non funziona.
    Hai per caso provato a fare una copia di quel tuo codice ed invece di leggere nomi utenti e password da un file di testo a scriverli in chiaro nel codice php (di login.php o di un'altra pagina che potresti includere?).

  5. #5
    No, anche perché non saprei come fare
    Non pretendo la pappa pronta, mi basterebbe anche una spiegazione sui procedimenti per impostare la pagina accessi.php in base all'impostazione di login.php

  6. #6
    Scusate l'up, ma il mio topic da ieri in prima pagina è passato alla terza e non mi è di aiuto per la risoluzione del problema.

  7. #7
    Vediamo se riesco ad aiutarti:

    1) Le password le vorresti nel file php, in un file di testo o magari messe in un database?
    2) Come pensi debba funzionare a livello logico lo script di login?
    3) Le pagine protette, se la persona non è loggata che devono fare? Rimandare in altre pagine del sito?

  8. #8

    Grazie goikiu

    Allora, sicuramente in file .txt la protezione dei dati si abbassa notevolmente rispetto al salvataggio dei dati degli utenti in .php o in un file inserito in database. Siccome non sarei l'unica admin del sito, il mio collega non è molto 'pratico' e vorrei quindi che i dati non venissero inseriti in database, perché nel caso dovesse aggiornare lui la lista non sarebbe in grado.

    1) La soluzione ottimale sarebbe salvare in .php.

    2) A livello logico vorrei che impostarlo come quello attuale: dalla home si viene indirizzati alla pagina di login, se si inseriscono i dati esatti si compie l'accesso alle diverse pagine protette, se non si inseriscono i dati esatti la sessione non viene completata e si ritorna alla home (destroy.php), mentre se estranei tentassero di accedere all'area riservata dal menu nella home si verrebbe indirizzati ad una pagina che notifica ad esempio 'non hai i permessi per accedere a questa pagina' con reindirizzamento automatico alla home (check.php).

    3) Se la persona non è loggata l'accesso alle pagine protette viene bloccato (destroy.php).

    Spero di essermi spiegata
    Grazie ancora goikiu!

  9. #9
    Come capisci se è una persona può tentare il login o se è un'estraneo?

  10. #10
    Non è importante per me se è utente registrato che sbaglia a inserire i dati (si arrangia, riprova a scrivere e magari un giorno ci riuscirà) o se è un lettore che non si è registrato. L'importante è che non si acceda alle pagine protette se non si effetua il login con i dati esatti.

    La registrazione avviene contattando gli admin via email fornendo nickname e password con i quali l'utente vorrebbe efettuare l'accesso. Gli admin prima di concedere l'autorizzazione inserendo nel file .php i dati di autenticazione si impegnano a contattare ulteriormente l'utente interessato con l'intenzione di conoscerlo prima un po' meglio. Abbiamo anche un forum per questo.
    Funziona così perché è la soluzione migliore per noi

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.