Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Sicurezza stringhe

  1. #1

    Sicurezza stringhe

    Buongiorno, in ogni occasione in cui leggo articoli in merito alla sicurezza in php e' evidente la necessita' di filtrare i dati in input ed in output.

    Questo assunto, assolutamente condivisibile mi crea pero' confusione.

    In input io utilizzo un pattern che obbliga l'utente ad inserire dei caratteri ben precisi, prima di inserirli nel database li filtro con le funzioni di php infine, per l'inserimento utilizzo PDO con PREPARE STATEMENT.

    Quindi, ed e' qui che faccio confusione, se recupero un dato dal mio DB, che dopo quanto sopra e' (dovrebbe essere) sicuro a che scopo filtrarlo di nuovo per mandarlo in stampa ?

    In realtà ancora non ho capito ( limite mio ) se e' meglio usare le funzioni SANITIZE o FILTER, io uso le SANITIZE.

    Mi piacerebbe sentire opinioni in merito.

    Grazie.
    Mauro

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Come dici giustamente tu è fondamentale filtrare gli input, mentre per gli output ci sono varie scuole di pensiero.

    In linea di massima se sei certo che il dato dentro al tuo database è corretto per come la vedo io non è strettamente necessario filtrarlo in uscita, fermo restando che ti potrebbe comunque essere utile usare dei filtri di formattazione "estetici" (format delle date, del codice html etc).

    Se hai tempo e risorse può non essere male fare un controllo anche sui dati in uscita, specialmente se questi possono essere stati modificati dopo essere stati inseriti nel database (sia in maniera autorizzata che malevola) ma questo secondo me dipende anche molto dal tipo di applicazione che stai realizzando, nella maggior parte dei casi filtrare correttamente gli input/update è sufficiente.

    Venendo ai filtri, la differenza principale tra i sanitize ed i validate è che:

    I filtri sanitize, come dice il nome, cercheranno di rendere il dato in ingresso corretto, modificandolo se necessario.

    I filtri validate controlleranno solo che il dato sia corretto, se così non fosse non verrà fatto alcun tentativo di modifica per renderlo tale, il filtro risponderà semplicemente che non è stato superato il controllo.

    Usarne uno piuttosto di un altro dipende dalla struttura della tua applicazione e dal tipo di dato da filtrare.

  3. #3
    Grazie per la cortese risposta, sicuramente la questione della sicurezza è complessa e articolata, e puo' essere approcciata con metodiche diverse ... che possono creare confusione.

    Comunque la distinzione da te fatta tra SANITEZE e FILTER e' assolutamente chiara, ed utile.

    Grazie
    Mauro

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.