Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    44

    [sicurezza] fliushare le stringhe o rifiutarle?

    Salve gente,

    sto sviluppando una mia web application e mi trovo nuovamente dinanzi a un dubbio che già avevo incontrato altrove:

    Per processare un dato GET o POST di un utente ho sviluppato delle funzioni di sanitizzazione delle stringhe in base al tipo di valore da accettare (integri, float, alfanumerici, ecc.).

    Dopo un po' mi son detto: ma ha senso pulire una stringa da caratteri non consentiti e passarla lo stesso ad una query SQL?

    Non è meglio rifiutare una stringa che contenga valori non ammessi e bloccare l'applicazione con un messaggio di errore?

    Voi cosa ne pensate e come operate in questi casi? Ho notato che molte applicazioni optano per la prima soluzione, ovvero sanitizzazione della variabile che viene poi passata alla query. Per voi ha senso tutto ciò?
    S:

  2. #2
    di solito io "sanitizzo" le stringhe e le inserisco comunque in db questo perchè di solito do' per scontato che le stringhe siano state validate in precedenza per prevenire inserimenti di dati pericolosi...

    la mia funzione di sanitizzazione di solito si preoccupa solo di fare un trim e un mysql_real_escape_string quindi rimuove solo spazi inutili e "escapa" gli apostrofi che darebbero problemi a mysql...

    tutti gli altri controlli li faccio validando l'input in base al tipo di dato aspettato e restituendo degli errori nel caso non vada bene
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Anche io mi sono sviluppato delle funzioni che depurano i parametri inseriti nelle form.
    Però ho diviso il lavoro in 2: prima controllo che la variabile sia in linea con quanto mi aspetto (un int, una stringa senza determinati caratteri eccetera), quindi filtro ulteriormente la stringa per depurarla dai caratteri che possono dare problemi nel DB (accentate, apici, caratteri particolari come il % eccetera).

    Nel caso la stringa non superi il primo filtraggio, blocco l'esecuzione dello script e lancio un messaggio di cortesia, naturalmente.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.