Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    142

    domanda sulla sicurezza in php

    Ciao a tutti

    Ho costruito un pannello di amministrazione per il sito della mia azienda, capace di permettere l'inserimento dei clienti che serviamo e mostrarli nelle pagine accessibili a tutti relative alla regione dove la persona cerca un nostro rivenditore.
    Premetto che ho rispettato passo passo la guida sulla sicurezza in php , per cui le pass sono sotto firma, tutti i paramentri che vengono ricevuti dalle pagine in php vengono puliti da tag e caratteri speciali, eseguo controlli sul referer , se potessi passerei tutto sotto https, tutte le stringhe che vengono processate vengono pulite anch'esse ecc.

    es: la persona nella pagina shop.php seleziona come regione veneto -> il nome della regione viene utilizzato per una query sul db per trovare i clienti del veneto

    la tabella dei clienti sul db li identifica univocamente grazie ad un id numerico es:

    id:125
    ragione socialerova
    indirizzorova indirizzo,1
    userservizi:esmpio
    passservizi:iasdldjlkdas87386383ndn //questa è la firma della password per i servizi offerti a quel cliente

    adesso oltre che a mostrare semplicemente i negozi voglio offrire a i miei rivenditori alcuni servizi dedicati, come ad esempio una pagina personale sul mio sito .

    pensavo dopo un login che controlla user,password,che servizi ha attivi, (ad esempio il cliente ha attivo il servizio minisito ) di creare una variabile in sessione es : minisito="minisitoattivo" poi naturalmente nella pagina di gestione del minisito, se la variabile esiste lui può entrare.

    il problema nasce dal fatto che voglio che lui possa entrare e però naturalmente modificare le informazioni (immagini testi ) relative solo al suo id, questo id deve per forza essere passato, ma può comunque da una persona abbastanza abile essere modificato, nonostante contolli sul referer o altro.


    alla fine ho pensato di generare una chiave (es casuale esadecimale di 16caratteri) associata all'id ogni volta che il cliente si logga

    1)durante il login genero una chiave e la salvo in una tabella nel db assieme all'id
    2) ogni volta che le mie pagine richiedono l'id ( esempio per capire quali testi posso modificare ) richiedono anche la chiave e controllano che sia quella giusta.

    se l'associazione tra id e chiave fallisce vengo buttato fuori.

    teoricamente così all'utente malintenzionato non basta modificare il valore del suo id per accedere ad informazioni di qualcun'altro, ma dovrebbe azzeccare l'associazione tra id e chiave casuale di 16 caratteri esadecimale.


    Sto procedendo nella maniera esatta? Mi son perso cose fondamentali ? Sbaglio? LOL meglio chiedere prima a gente più esperta ho pensato. ( Sono ancora in fase di progettazione per quanto riguarda i servizi attivi quindi volendo posso ancora modificare tutto )
    GRAZIE MILLE in anticipo per i consigli

  2. #2
    Non ho capito bene il dubbio: non puoi semplicemente salvare l'id in sessione?

  3. #3
    Utente di HTML.it L'avatar di vikey89
    Registrato dal
    Apr 2009
    Messaggi
    333
    Appunto come dice K.b, basta salvare id_utente in una sessione (quando effettuata il login) e poi esegui una query tipo:
    Codice PHP:
    $query = ("SELECT * FROM utente WHERE id_utente = $_SESSION[id_utente]"); 
    <br />
    http://www.vikeydesign.it
    -----------------------------------
    <?php echo "Hello World!"; ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    142
    LOl grazie ^^ ho fatto tutto un casino su chiavi e tabelle dimenticandomi totalmente che la sessione essendo lato server serve proprio a questo.. meno male che non avevo ancora iniziato a scrivere codice inutile

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.