Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    56

    Come rendere sicuro un input

    Quali controlli devo fare agli input prima di mandarli al database per avere uno script sicuro?

    Ad esempio dovrei rendere sicuri questi due parametri:

    Codice PHP:
    $name $_POST['name']; //stringa
    $year $_POST['year']; //intero

    $query 'INSERT INTO person (name, year) VALUES ("'.$name.'", '.$year.')'

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Oppure fai l'escaping con PDO::quote(), se no usa i prepared statements di PDO:repare()

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    56
    Io uso mysqli, c'è modo di renderlo sicuro anche con quello?

  4. #4
    Utente di HTML.it L'avatar di Kups
    Registrato dal
    May 2013
    Messaggi
    20
    Attualmente, per rendere sicuri quei dati ti consiglio di fare uso della funzione filter_var() e soprattutto di utilizzare i prepared statements.
    Se poi dovessi necessitare di pattern di controllo atipici ci sono sempre le espressioni regolari.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    56
    Ok grazie, ma con i prepared statements posso anche evitare di filtrare le variabili e di fare l'escape dei caratteri?

  6. #6
    Oppure puoi ricorrere alle vecchie, ma sempre care e funzionali, espressioni regolari.
    Non sto qui a spiegartele perché sarebbe lunghissimo, ma su HTML.it c'è un ottima guida: http://www.html.it/articoli/espressioni-regolari-1/

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    56
    Le espressioni regolari le conosco, però non so se fanno al caso mio visto che spesso devo inserire nel database delle semplici stringhe

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    A maggior ragione potrebbero essere utili, se pensi in ottica sicurezza non devi considerare ciò che verrebbe inserito normalmente, ma il contrario....l'obiettivo è limitare gli inserimenti dannosi. potrebbe essere utile anche la strip_tags.
    Puoi usare il metodo di mysqli preposto all'escape http://php.net/manual/en/mysqli.real-escape-string.php

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    56
    Per ora ho implementato la real_escape_string.

    Ma ancora non riesco a capire perchè usare le espressioni regolari su una stringa quando uso già la suddetta funzione. Se mi dite tutti di usarle, un motivo ci sarà...

  10. #10
    Perché, come dice giustamente arkus, con le espressioni regolari è il miglior metodo per dire al tuo programma cosa non vuoi nella stringa.

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.