Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    AIUTO!!! Account manager e....

    Salve
    Sono in panne! Ho bisogno di un grande aiuto.
    Devo creare un sito di una piccola azienda con circa 300 dipendenti, con un'area amministrativa che permette appunto all'amministratore di:

    Visualizzare utenti iscritti
    Caricare documenti in pdf ed informazioni ad uno specifico utente iscritto
    ovviamente degli iscritti visualizzare l'anagrafica di ognuno.

    Inoltre ogni utente con password e nick riservata accedere nella propria area riservata e visualizzare i propri documenti (solo quelli che gli appartengono caricati dall'amministratore).

    Sono capace di creare alcuni script ma non gestire gli accessi riservati ad ogni utente, in modo da fargli visualizzare esclusivamente i propri documenti.

    Da dove inizio?? e dove finisco?
    Inoltre un progetto come questo quanto potrebbe costare?

    Vi prego aiutatemi!!! Esiste magari qualcosa o qualcuno che possa aiutarmi

  2. #2
    La domanda più banale ed ovvia sarebbe: perchè hai accettato di fare una cosa di cui non sai nulla?

    Ad ogni modo sia tra le guide di html.it che qui sul forum sono già presenti le informazioni necessarie.

    Ti serve:
    1) Saper gestire un database
    2) Saper utilizzare le sessioni
    3) Sapere fare l'upload di file

    ovviamente questi 3 punti li devi saper fare mettendo il tutto in sicurezza!
    Administrator of NAMDesign.Net

  3. #3
    gestire un database e l'upload dei file sono cose gia fatte, ma integrarle con la gestione delle sessioni che mi manda in panico

  4. #4
    Quoto LeaderGL.
    perchè hai accettato di fare una cosa di cui non sai nulla?
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Originariamente inviato da Brother77
    gestire un database e l'upload dei file sono cose gia fatte, ma integrarle con la gestione delle sessioni che mi manda in panico
    Ok, questo mi fa capire che hai utilizzato il database con script/applicazioni PHP che non prevedevano in alcun modo degli accessi protetti.

    Vediamo un po di gettare qualche base che ti servirà da input per ricerche più approfondite:
    1) Le sessioni del php ti servono per tenere traccia di alcune informazioni anche mentre si naviga tra le varie pagine (è una definizione di merd* però un po fa capire)
    2) Nel database ti serve una tabella clienti (almeno coi campi username, password, gruppo)
    3) Nel database ti serve una tabella gruppi (che unita a quella clienti ti permette di capire chi ha i permessi amministratore, chi quelli moderatore, chi quelli di semplice utente)
    4) Del codice per caricare un file ed assegnarlo ad un determinato cliente.

    i punti 2 e 3 volengo possono essere semplificati con una sola tabella clienti che possegga i campi username, password e permessi.

    Vediamo solo le cose più importanti.
    Tabelle Database:
    codice:
    CREATE TABLE user (
      iduser INT(11) NOT NULL auto_increment,
      username VARCHAR(64) NOT NULL,
      password VARCHAR(32) NOT NULL,
      permission INT(5) NOT NULL,
      PRIMARY KEY (iduser),
      UNIQUE (username)
    );
    ovviamente questa tabella è molto grezza, ti servirebbe un campo email (se i clienti si registrano da soli) in modo da poterne convalidare la registrazione, ti servirebbero anche dei campi specifici per l'anagrafica cliente (se serve); ad ogni modo questo è il minimo indispensabile.

    Io personalmente quando ho a che fare con registrazioni di persone con tanto di anagrafica preferisco utilizzare il codicefiscale del cliente come chiave primaria della tabella.

    Ora ti serve un moduletto php che ti permetta di fare la registrazione:
    Codice PHP:
    <?PHP
       
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
          
    /**
           * Qui devi registrare il cliente effettuando questi passi, come minimo:
           * 1) Verifichi che tutti i dati necessari siano stati inseriti (username, password)
           * 2) Verifichi che i dati inseriti (username e password) non posseggano caratteri pericolosi
           * 3) Nel caso ci siano caratteri strani mostri un errore al cliente
           * 4) Effettui la query al db per registrare al cliente
           */

          // Ovviamente per eseguire questa devi fare anche il collegamento al db
          
    $username addslashes($_POST['username']);
          
    $password md5($_POST['password'];
          
    $query "INSERT INTO user (username, password) VALUES ('$username', '$password')";
          
    mysql_query($query);
       }
    ?>
    <html>
    <body>

       <form action="" method="post">
          <input type="text" name="username">
          <input type="password" name="password">
          <input type="submit" name="submit" value="Registrati">
       </form>

    </body>
    </html>
    Ora una volta che il cliente si è registrato ti serve una pagina di login e poi tutte le pagine che avranno accesso protetto.

    La pagina di login avrà un form html per inserire username e password (come prima) e del codice PHP per verificare che il cliente esista; se il cliente esiste ed i dati di accesso sono corretti imposti una variabile di sessione che ti servirà in tutte le altre pagine per capire se quel cliente si è loggato.

    Pagina login:
    Codice PHP:
    <?PHP
       session_start
    ();

       if (
    $_SERVER['REQUEST_METHOD'] == 'POST') {
          
    /**
           * Qui devi verificare che il cliente abbia messo i dati giusti:
           * 1) Verifichi che tutti i dati necessari siano stati inseriti (username, password)
           * 2) Verifichi che i dati inseriti (username e password) non posseggano caratteri pericolosi
           * 3) Nel caso ci siano caratteri strani mostri un errore al cliente
           * 4) Effettui la query al db per verificare il cliente
           */

          // Ovviamente per eseguire questa devi fare anche il collegamento al db
          
    $query "SELECT * FROM user WHERE username = '$username' AND password = '$password'";
          
    mysql_query($query);
          if ( 
    mysql_num_rows() > ) {
             
    // Il cliente esiste e quindi imposto una variabile di sessione per ricordarmi che si è loggato
             
    $_SESSION['autenticato'] = 1;
          }
       }
    ?>
    <html>
    <body>

       <form action="" method="post">
          <input type="text" name="username">
          <input type="password" name="password">
          <input type="submit" name="submit" value="Login">
       </form>

    </body>
    </html>
    In tutte le altre pagine avrai:
    Codice PHP:
    <?PHP
       session_start
    ();

       if ( !isset(
    $_SESSION['autenticato']) !! $_SESSION['autenticato'] == ) {
          die(
    "Questa zona è protetta, devi prima loggarti");
       }


       
    // fai tutto il resto
    ?>

    Ovviamente questo codice scritto va MOOLTO migliorato sia come struttura logica che dal punto di vista sicurezza...ma non potevo star qui a scrivere per ore

    Spero ti sia di aiuto; leggiti tutto quello che c'è nel forum ed in html.it riguardo le sessioni.
    Administrator of NAMDesign.Net

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 © 2024 vBulletin Solutions, Inc. All rights reserved.