d'accordo, sono informato sull'argomento, grazie lo stesso.Originariamente inviato da MicheleWT
filtrare e gestire gli input che arrivano dagli utenti e non è un problema di sicurezza di cui devi conto perennemente.
puoi usare preg_match per eseguire un controllo con espressioni regolare sulle variabili, usare le funzioni di php per caratteri speciali.
inizia a studiarti cosa sono gli exploit XSS e Mysql Injection,
ti anticipo che non è un tema di piccole dimensioni
Il mio problema qui non è il salvataggio nel db (nel quale prendo le mie precauzioni con gli escape del caso), in questo caso i dati sono stati prelevati dal db (ipotizziamo $var come un valore di un record) e inviati in una funzione javascript (change()), in sostanza la questione è:
ogni volta che passo un valore prelevato dal db in una funzione javascript (che si trova nell'HTML, se non uso JQuery, quindi che viene preparato dal server con PHP) devo nuovamente applicare gli escape? E la risposta sarebbe no (secondo me) perché dipende da quali apici usi nel PHP per scrivere l'HTML ad esempio!
La tua soluzione è specifica per quel caso, ma se io avessi scritto (come all'inizio)
la tua soluzione non andava bene.Codice PHP:
echo '<span class="set_smt_ajax" onclick="change('.$var.');">Qualcosa</span>
JQuery risolverebbe tutto credo, perché sosterei tutto al di fuori dell'HTML e quindi del PHP, ma aspetto qualcuno che mi dia la conferma
Spero di essermi spiegato.
Quindi, qual è la strada da seguire???