Visualizzazione risultati 1 fino 4 di 4

Discussione: Problemi e domande sulla creazione di un forum

  1. #1
    Guest

    Predefinito Problemi e domande sulla creazione di un forum

    Salve,
    stavo provando a creare un forum da 0, molte cose le ho già fatte, ma per alcune non ho la minima idea da dove partire.
    Perciò speravo che qualcuno di voi potesse aiutarmi

    La prima è come fare a far in modo che si creino automaticamente più pagine man mano che si vanno a produrre più risposte ad una discussione, in modo da non avere una pagina unica lunga migliaia e migliaia di pixel

    La seconda, a mio avviso molto complicata, è su come creare un sistema che ti mostri gli tutti gli utenti online e ciò che stanno facendo. (uso le sessioni per i login)

    Poi avevo due domande:
    Per obbligare un utente ad aver effettuato il login per vedere le pagine, questo codice lo assicura al 100%?

    Codice PHP:
    session_start();
    if(empty(
    $_SESSION['user'])){
    $_SESSION['user'] = array();
    header("location:../login.php");
    }

    E poi, sempre per il pannello admin, basta semplicemente scrivere:

    Codice PHP:
    //Supponendo che tipo_utente = 1 è l'admin, tipo_utente= 0 è utente normale:
    if($_SESSION["tipo_utente"] != 1){
    header("location:login.php");
    }
    //tutta la pagina admin.
    e te lo rende totalmente sicuro?

    Saluti!

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Citazione Originalmente inviato da competenzepertutti Visualizza messaggio
    E poi, sempre per il pannello admin, basta semplicemente scrivere:

    Codice PHP:
    //Supponendo che tipo_utente = 1 è l'admin, tipo_utente= 0 è utente normale:
    if($_SESSION["tipo_utente"] != 1){
    header("location:login.php");
    }
    //tutta la pagina admin.
    e te lo rende totalmente sicuro?

    Saluti!
    Le sessioni sono gestite internamente dal motore PHP e solo gli script possono scrivere o leggere queste variabili. Quindi quel pezzo di codice di per sé e a posto, ma bisogna vedere dove e come vai ad introdurre i dati nella variabile di sessione. Stai attento specialmente se usi database agli attacchi di tipo SQL injection.

  3. #3
    Guest

    Predefinito

    Sarebbe più sicuro fare in questo modo:
    Codice PHP:

    if(
    //avviene il login
    ){
    $tipo=mysqli_fetch_array(mysqli_query($connessione, "SELECT * FROM utenti WHERE username = '$user' "));
    $_SESSION['tipo_utente']=$tipo['tipo_utente'];
    }
    e quindi poi nella pagina riservata agli admin scrivere:
    Codice PHP:
    if($_SESSION['tipo_utente'] != 1){
    header:("location:index.php");
    }
    //pagina admin


    Oppure:

    Codice PHP:
    //pagina visibile solo agli admins


    $tipo = mysqli_fetch_array(mysqli_query($connessione, "SELECT * FROM utenti WHERE username = '$user' "));
    if(

    $tipo['tipo_utente'] != 1
    ){
    header:("location:index.php");
    }
    Ultima modifica di competenzepertutti : 21-02-2015 alle ore 14.58.15

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Direi che è totalmente indifferente. Assicurati però che il contenuto della variabile $user sia sicuro. Perché se ad esempio un malintenzionato riuscisse ad includervi caratteri come apici ed altri simboli potrebbe maneggiare la query a proprio piacimento (SQL injection). La cosa migliore per evitare ciò sarebbe usare i prepared statements.

Regole di scrittura

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