Visualizzazione risultati 1 fino 5 di 5

Discussione: [PHP] sicurezza passaggio dati

  1. #1
    araim non è connesso Utente attivo
    Data registrazione
    26-06-2004
    Messaggi
    275

    Predefinito [PHP] sicurezza passaggio dati

    Ciao a tutti, sto sviluppando da un po questo sito web che ora è su araim.altervista.org,
    e mi sto accorgendo di aver, a volte, trascurato delle possibili "falle" nel mio spazio web.

    Considerando che un cracker non verrà certo a rompere le scatole ad un mio spazio,
    ma non è da escludersi un LAMER, c'è modo di evitare situazioni spiacevoli nel passagio
    dei dati anche semplicemente con i link??

    Nel senso: devo aprire una scheda utente, potrei usare le variabili SESSIONE per fissare
    l'utente eventualmente modificabile?? Apro la scheda di un utente, e nel momento in
    cui la apro, creo una $_SESSION['schedavisualizzata'] che poi userò nell'eventualità
    io clicchi su "modifica" potendo naturalmente intevenire come utente stesso o moderatore?

    Quali accorgimenti dovrei provare ad adottare?
    Ultima modifica di araim : 27-03-2009 alle ore 17.29.49 Motivo: orrori di battitura

  2. #2
    Guest

    Predefinito

    La prima cosa da fare è sanitizzare tutto ciò che passa con $_GET, $_POST, $_COOKIE e $_SESSION.
    Ci sono delle funzioni apposite in php, come addslashes() o in maniera più mirata mysql_escape_string().
    Un'altra buona abitudine è quella di tipizzare i dati, ad esempio se ti aspetti che un ID sia un numero maggiore di zero, puoi controllare in questo modo la sua conformità:

    $_GET['id']=(int)$_GET['id']; // forzo la variabile ad essere esclusivamente un numero

    if($_GET['id']>0){
    // OK
    }

    Se $_GET['id'] fosse stato una stringa alfanumerica sarebbe stata convertita automaticamente in 0 (zero).


    Ciaoooooo!

  3. #3
    araim non è connesso Utente attivo
    Data registrazione
    26-06-2004
    Messaggi
    275

    Predefinito

    altri consigli?? >.>' tipo per evitare che i dati vengano inviati da FORM esterni al sito?

  4. #4
    Guest

    Predefinito

    Anche, poi basterebe anche cambiare la querystirng a mano nell'indirizzo, ed a questo puoi migliorare un po la sicurezza con il mod_rewrite

  5. #5
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    no... $_SESSION non serve.... contiene dati che risiedono sempre lato server

    altra cosa molto importante se ad esempio hai register_globals attivo: inizializzare sempre le variabili

    se vuoi evitare di elaborare dati da form esterni (è una cosa a cui non avevo mai pensato sinceramente ) basta controllare il referer
    oppure una soluzione un po' più elaborata: l'inserimento di un campo nascosto all'interno del form con un contento generato ogni volta per ogni sessione (verrebbe generato non appena un utente visualizza una pagina del tuo sito, ad esempio il form stesso) garantendo cosi che i dati arrivino dal tuo form (confrontando il contenuto del campo nascosto con quello memorizzato in una variabile di sessione)

Regole di scrittura

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