Scusate la poca chiarezza, ma il computer oggi ha dato i numeri XD.
Vi riposto la domanda completa così che possiate leggerla bene. Grazie mille a tutti!
sto programmando una pagina in php che comunica con un database mysql. Questa pagina è un form dove chiunque può scrivere in 3 campi di testo dove solo 2 di questi compariranno in un'altra pagina visibile a tutti, mentre l'altro parametro serve solo per ricercare nel database la posizione esatta dove allocare i dati presenti negli altri 2 campi di testo.
Faccio un esempio per capirci:
Supponiamo di avere una pagina dove ci sono 3 campi di testo dove uno può scrivere Nome, Cognome e Città.
Supponiamo di avere un tot di tabelle nel database ognuna delle quali è rinominata con dei nomi di Città, quindi il campo di testo città ci serve per inserire il nome e il cognome della persona nella tabella della città che ha scritto. Ad esempio se io scrivo a Nome: Marco a Cognome: Rossi e a città Genova la richiesta al database mysql sarà del tipo: insert into Genova(Nome, Cognome) values('Marco', 'Rossi');
Bene. La mia domanda è questa:
con i comandi htmlentities e mysql_escape_string applicati ai campi di nome e cognome credo di aver bloccato i tentativi di sql injection e XSS, però quello che mi chiedevo è se è necessario inserire il comando htmlentities anche alla variabile città che cmq non verrà mai stampata a video e quindi non credo possa nuocere a nessuno. Questa variabile è passata solo dal comando mysql_escape_string perchè è fondamentale visto che serve per le sql injection.
Ma l'htmlentities da quello che ho potuto constatare e capire, serve per evitare che si possa inserire dello script hack che possa nuocere all'utente che lo visiona (cosa che può accadere per le variabili nome e cognome ma non per città che non sarà mai visualizzata in nessuna pagina). Però lo script hack credo si possa eseguire solo lato client e non lato server quindi non vedo perchè la variabile città la debba processare anche con l'htmlentities.
Spero di essere stato chiaro. Grazie mille a tutti.