Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Sicurezza form

  1. #1

    Sicurezza form

    Ciao ragazzi,
    ... stavo leggendo un piccolo articolo sulla sicurezza del codice, nell'articolo illustravano alcuni esempi tra cui un semplice form.

    Nell'esempio in particolare hanno dimostrato come in un semplice form, precisamente in una textarea, è possibile inserire del codice per creare un malware, ovvero inserire una richiamo a un file js o di qualsiasi altra estensione...

    Ora si ha qualche modo per impedire l'inserimento di java dentro un campo di testo?

    Non chiedo come impedire l'inserimento del linguaggio HTML perchè il cliente potrebbe servire questo tipo di linguaggio.


    Grazie a tutti...

  2. #2
    strip_tags, htmlentities, regex, str_ireplace, etc etc

  3. #3
    Grazie per la risposta,
    Ho letto più o meno cosa fanno le funzioni che hai indicato e sono più o meno utili, ovviamente dipende da quello che una persona ha bisogno...
    io utilizzo questa funzione --> mysql_real_escape_string

    Se una persona inserisce, nell'area di testo, un tag del tipo <script src="file.js"></script>
    viene convertito in &lt;script src=&quot;file.js&quot;&gt; e cosi via...

    questo tipo di conversione impedisce il richiamo al file js giusto?

  4. #4
    no!!
    mysql_real_escape_string ha scopi totalmente diversi rispetto ai problemi che hai esposto (esegue semplicemnte l'escape delle stringhe e previene da sql injection)

  5. #5
    Ti chiedo due piccole informazioni...

    In generale mi consigli di utilizzare la funzione mysql_real_escape_string o htmlentities?

    La sencoda è banale ma vorrei la conferma... io utilizzando la funzione htmlenstities converto tutte le stringhe passate dai campi form, e inserisco i dati dentro un db.
    Nella visualizzazione dei dati si vedrà è invece di &egrave; giusto?!

  6. #6
    Originariamente inviato da simone.marchese
    Ti chiedo due piccole informazioni...

    In generale mi consigli di utilizzare la funzione mysql_real_escape_string o htmlentities?

    La sencoda è banale ma vorrei la conferma... io utilizzando la funzione htmlenstities converto tutte le stringhe passate dai campi form, e inserisco i dati dentro un db.
    Nella visualizzazione dei dati si vedrà è invece di &egrave; giusto?!
    se gli input vanno inseriti nel db devi ASSOLUTAMENTE fare l'escape verificando prima l'impostazione get_magic_quotes_gpc()

    poi in ingresso puoi/devi (a seconda dei casi) fare altri controlli:
    ad esempio devi verificare se ciò che ricevi corrisponde a ciò che ti aspetti di ricevere: un indirizzo email, un url, etc etc.

    La risposta è quindi:
    - cosa sono questi input?
    - è fondamentale ai fini del corretto funzionamento dello script che l'input corrisponde a una determinata sintassi (ad esempio indirizzo mail in sede di registrazione)?
    - l'input inserito dall'utente è destinato alla stampa a video (ad esempio un commento ad una news) oppure deve essere semplicemente salvato (ad esempio una password dell'utente)?
    etc etc

    A seconda degli input e degli scopi dovrai fare i controlli dovuti.
    Quello che devi chiederti è "cosa dovrò fare con questi input?"

  7. #7
    ...Ho cercato la funzione che mi hai detto te... ma non capisco bene a cosa servi
    questo è un esempio che ho trovato
    Codice PHP:
    <?php 
    echo get_magic_quotes_gpc();             // 1 echo 
    $_POST['lastname'];                           // O\'reilly 
    echo addslashes($_POST['lastname']);   // O\\\'reilly  
    if (!get_magic_quotes_gpc()) {    
     
    $lastname addslashes($_POST['lastname']);

    }else {    
     
    $lastname $_POST['lastname']; 
    }  
    echo 
    $lastname// O\'reilly 

    $sql "INSERT INTO lastnames (lastname) VALUES ('$lastname')"?>
    Verfica se il get_magic_quotes_gpc sia vero converte la stringa lastname e in caso la funzione ritorna un valore false lastname rimane il valore passato senza nessuna codifica... a questo punto la funzione get_magic_quotes_gpc cosa verifica realmente?

    Scusa ma non riesco a capire

  8. #8
    get_magi_quote_gpc() è una funzione che verifica se nel file di configurazione del php (php.ini) è attiva questa impostazione.

    Se attiva effettua automaticamente l'escape delle stringhe

    http://www.phpnews.it/corsi/corso-ph...ento-dei-dati/

  9. #9
    Ho letto bene l'articolo alla fine la funzione che mi hai segnalato te è un controllo che devo fare prima della conversione con mysql_real_escape_string

    Comunque sia meglio un controllo in più che uno in meno...

  10. #10
    Originariamente inviato da oly1982
    La risposta è quindi:
    - cosa sono questi input?
    - è fondamentale ai fini del corretto funzionamento dello script che l'input corrisponde a una determinata sintassi (ad esempio indirizzo mail in sede di registrazione)?
    - l'input inserito dall'utente è destinato alla stampa a video (ad esempio un commento ad una news) oppure deve essere semplicemente salvato (ad esempio una password dell'utente)?
    etc etc

    A seconda degli input e degli scopi dovrai fare i controlli dovuti.
    Quello che devi chiederti è "cosa dovrò fare con questi input?"

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.