Visualizzazione risultati 1 fino 5 di 5

Discussione: Area Riservata Php e Msqli

  1. #1
    Guest

    Predefinito Area Riservata Php e Msqli

    Salve a tutti ho già creato la pagina di registrazione e la pagina di login, il mio problema è che una volta che invio i dati dal form di login vengono analizzati dal file php che verifica tramite Myqli se il nome utente e la password inseriti siano corretti e se sono corretti fa un redirect all'area riservata, il fatto è che cosi facendo basta fare il copia e incolla del link e chiunque può accedere. io vorrei risolvere questo problema inserendo del codice php all'interno dell'area riservata ma non sò cosa inserirci.

    di seguito vi lascio il file php


    Codice PHP:
    <?php
    //recupero i dati dai campi del form
    $user = $_POST['user'];
    $pwd = $_POST['pwd'];
    // Connessione al database
    $mysqli = new mysqli('localhost', 'sitodiprova1927', 'la mia password', 'my_sitodiprova1927');
    if (
    $mysqli->connect_error) {
    die(
    'Errore di connessione (' . $mysqli->connect_errno . ') '
    . $mysqli->connect_error);
    }

    $password = hash('sha256', $pwd);

    $stmt = $mysqli->prepare("SELECT * FROM users WHERE user=? AND password=?");
    if (!
    $stmt) {
    die(
    "Prepared failed: " . $mysqli->error);
    }

    $stmt->bind_param('ss', $user, $password) or die("Binding parameters failed: " . $stmt->error);

    $result = $stmt->execute();
    if (
    $result === false) {
    die(
    "Execute failed: " . $stmt->error);
    }

    $stmt->store_result();

    if (
    $stmt->num_rows > 0) {
    header('HTTP/1.1 301 Moved Permanently'); //faccio il redirect
    header("Location: link dell'area riservata");
    exit;
    } else {
    echo
    "Accesso rifiutato";
    }
    grazie a tutti e buona serata

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Se l'utente è già loggato non deve visualizzare la pagina di login.. Devi abbinare il login a un cookie, nell'area riservata controlli tale cookie o i dati "POST" provienenti dal login (attualmemte stai verificando i dati POST solamente) e se il database lo trova allora può stare dentro quella zona.
    Ultima modifica di darbula : 06-11-2017 alle ore 20.53.37

  3. #3
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Più che un cookie ti consiglio di utilizzare le sessioni (le quali sfruttando internamente in maniera opaca i cookie a loro volta).

  4. #4
    Guest

    Predefinito

    salve ma per fare questo non c'è un framework che potrebbe rendermi il tutto più "automatico/veloce"

    Grazie

  5. #5
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ce ne sono a bizzeffe, devi solo scegliere quali usare.
    Laravel e Yii gestiscono automaticamente le sessioni.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •