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

    PROTEZIONE FILES, CON PASSWORD

    Ciao a Tutti.
    Ho Realizzato uno Script per Gestione Eventi,
    è funzionale, semplice, leggero, ma è fatto bene. (PHP+SQL).

    Ora devo Proteggere la Parte Amministrativa (contenuta in admin/ ), con password.

    Ci sono 4 Files in admin/:
    - index.php
    - aggiungi.php
    - cancella.php
    - edita.php

    Come Posso Proteggere Questi Files, con un'unica richiesta di Password? Potete darmi qualche input? Grazie. (credo sia qualkosa riguardante cookie e/o variabili di sessione, ma non ne capisco molto).

    Attendo Risposta, Grazie 1000.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    153
    Inserisci nella pagina iniziale della sessione admin (direi che a occhio e croce si tratta di index.php) un login che ti apre una sessione. Nelle altre pagine non devi far altro che inserire un semplice controllo di sessione ed il gioco è fatto.

  3. #3
    molto molto facilmente metti un file .htaccess dentro alla cartella admin, in questo caso proteggi tutta la cartella con un colpo solo.

  4. #4
    Grazie ad entrambi.
    Credo d'aver capito più o meno la Struttura.
    Se ho problemi, confido nel vostro aiuto, e posto Qui.

    GRAZIE, VI FARO' SAPERE!

  5. #5
    Sto avendo dei problemi, purtroppo.

    Danny, in index.php creo il FORM x il Login. e ci siamo. Il Form, lo rimando ad admin.php, questo verifica dapprima se la sessione è già stata aperta, altrimenti controlla se la pass inserita nel Form è corretta o meno.

    Potresti scrivermi il Codice di admin.php ? Saresti così gentile? con un pulsante LOGOUT x distruggere la Sessione..magari.

    TI RINGRAZIO.

  6. #6
    beh per fare quello è decisamente semplice... inserisci un bel
    session_start();
    poi una cosa del tipo:

    if (!isset($HTTP_SESSION_VARS['ILTUONOMEDELLAVAR'])){
    non sei in sessione quindi controlli se ti hanno passato un username e password ed in caso sia tutto giusto setti la variabile di sessione con l'informazione che preferisci...
    $HTTP_SESSION_VARS['ILTUONOMEDELLAVAR'] = $LATUAVAR;
    }else{
    sei in sessione
    }


    Per il logout fai una pagina del tipo:

    codice:
    <?php 
    	session_start();
    	if (isset($HTTP_SESSION_VARS['ILTUONOMEDELLAVAR'])){
    		unset($HTTP_SESSION_VARS['ILTUONOMEDELLAVAR']);
    		session_destroy();
    		header("Location: index.php");
    		}
    	session_destroy();
    	header("Location: index.php");
    ?>

  7. #7
    Non si usa più $HTTP_SESSION_VARS, adesso si usa $_SESSION['nomesessione']

    Ciaoo!
    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

  8. #8
    Scusate la Mia Ignoranza:

    index.php
    codice:
    <form method="post" action="ok.php">
    
    
    PASSWORD:
    <input type="text" name="password">
    
    <input type="submit" value="Invia">
    
    </form>
    logout.php
    codice:
    <?php 
    	session_start();
    	if  (isset($_SESSION['sessione'])){
     		unset($_SESSION['sessione']);
    		session_destroy();
    		header("Location: index.php");
    		}
    	session_destroy();
    	header("Location: index.php");
    ?>
    ok.php
    codice:
    <?php
    
    if (!isset($_SESSION['sessione'])){ 
    
    // INIZIO NO SESSIONE
    $password = nl2br($_POST['password']);
    if($password=="ciao"){
    ...}
    // FINE NO SESSIONE
    
    $_SESSION['sessione'] = $LATUAVAR; 
    }else{ 
    
    // INIZIO SI SESSIONE
    echo "sei in sessione";
    // FINE NO SESSIONE 
    
    } 
    
    ?>

    una_pagina_qualsiasi.php
    codice:
    <?php
    
    if (!isset($_SESSION['sessione'])){ 
    
    // INIZIO NO SESSIONE
    echo "non sei in sessione";
    // FINE NO SESSIONE
    
    $_SESSION['sessione'] = $LATUAVAR; 
    }else{ 
    
    // INIZIO SI SESSIONE
    echo "sei in sessione";
    // FINE NO SESSIONE 
    
    } 
    
    ?>

    Senz'altro c'è qualkosa ke non va...non mi va di essere stressante, ma x voi dovrebbe essere un gioco da ragazzi COMPLETARE. Così lo terrò come struttura. Non ho neanche ben capito a cosa poi serva $LATUAVAR, visto ke poi è del tutto inutilizzata.

    GRAZIE 1000, SIETE GENTILISSIMI TUTTI.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    153
    Dunque, ci sono un po' di errorini, vedo di riuscire a corregerti tutto senza fare troppi danni:

    index.php
    codice:
    <form method="post" action="ok.php">
    
    
    PASSWORD:
    <input type="text" name="password">
    
    <input type="submit" value="Invia">
    
    </form>
    Ok, questo dovrebbe essere giusto

    logout.php
    codice:
    <?php 
    	session_start();
    	if  (isset($_SESSION['sessione'])){
     		unset($_SESSION['sessione']);
    		session_destroy();
    		header("Location: index.php");
    		}
    	session_destroy();
    	header("Location: index.php");
    ?>
    Questo potrebbe nascondere un errore. Se usi unset($_SESSION['sessione']); tu liberi solamente la variabile $_SESSION['sessione'] dall'array, ma non gli altri valori che hai inserito (se ne hai altri). Per sicurezza usa $_SESSION = array(); e li rimuovi tutti in un sol colpo

    ok.php
    codice:
    <?php
    
    if (!isset($_SESSION['sessione'])){ 
    
    // INIZIO NO SESSIONE
    $password = nl2br($_POST['password']);
    if($password=="ciao"){
    ...}
    // FINE NO SESSIONE
    
    $_SESSION['sessione'] = $LATUAVAR; 
    }else{ 
    
    // INIZIO SI SESSIONE
    echo "sei in sessione";
    // FINE NO SESSIONE 
    
    } 
    
    ?>

    una_pagina_qualsiasi.php
    codice:
    <?php
    
    if (!isset($_SESSION['sessione'])){ 
    
    // INIZIO NO SESSIONE
    echo "non sei in sessione";
    // FINE NO SESSIONE
    
    $_SESSION['sessione'] = $LATUAVAR; 
    }else{ 
    
    // INIZIO SI SESSIONE
    echo "sei in sessione";
    // FINE NO SESSIONE 
    
    } 
    
    ?>
    Questo non lo capisco molto bene a dire la verità... è il file ok.php, ossia quello a cui invia la password per il controllo no? Quindi... non puoi inserire un if (!isset($_SESSION['sessione'])) senza aver messo un session_Start(); all'inizio, perchè non propaghi l'ID di sessione e quindi il controllo ti risulterà sempre negativo. Lo stesso discorso vale per "una_pagina_qualsiasi.php", devi sempre inserire all'inizio il session_start(); altrimenti la tua sessione è come se non esistesse su queste pagine.

  10. #10
    Ufffa non ci sto Capendo na Mazza!

    Alllllloooooooooora!
    Vedo di essere più chiaro io, noto che sei molto gentile, quindi se mi pubblichi i codici CORRETTI di tutte le pagine, non ti inkaxxi .

    Tutti Questi File, vanno in admin/, cartella di Amministrazione.

    - index.php
    E' il Form Tramite il Quale si Inserisce la Password. Rimanda ad ok.php

    - ok.php
    Questa Pagina, DEVE verificare...se la Sessione è già stata aperta, mi stampa "SESSIONE APERTA", altrimenti mi stampa "NON HAI SESSIONE APERTA" e mi rimanda in index.php
    Inoltre, essendo ok.php l'action dell'index.php, questo deve verificare se la password è uguale a "ciao". Se è uguale APRE LA SESSIONE, ALTRIMENTI MI RIMANDA AD index.php

    - una_pagina_qualsiasi.php (esempio cancella.php edita.php )
    Questa Pagina, DEVE verificare...se la Sessione è già stata aperta, mi stampa "SESSIONE APERTA", altrimenti mi stampa "NON HAI SESSIONE APERTA" e mi rimanda in index.php
    Inoltre, NON essendo una_pagina_qualsiasi.php l'action dell'index.php, questa NON deve verificare se la password è uguale a "ciao" (a differenza di ok.php).

    - logout.php
    Distrugge le Sessioni Presenti, e mi rimanda in index.php


    Spero di esser stato chiaro......potresti scrivermi i codici di queste pagine? Una volta che me li stampi, credo di riuscire a studiarmeli da solo...e li conserverò come struttura in prossime occasioni.

    SCUSA SE ROMPO...SEI GENTILISSIMO, TI DEVO 7.000 CAFFE'.
    (se utilizzi un Messenger, cerco di essere più chiaro in Chat. Ma credo di essermi spiegato, stavolta).

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.