Ciao, ho bisogno di aiuto. Sono sotto attacco sql injection ma per le mie conoscenze non riesco a proteggermi. L'attacco arriva attraverso il parametro Id di una pagina di dettaglio. Ho provato a modificare il codice applicando una query parametrica ma non funziona. Ovviamente l'ho sbagliata.
Il codice è :
<%
var norewwsQuery : String = "SELECT id,utente,news,data,titolo,image FROM av_news WHERE id = @IDvalue";
var cmd : SqlCommand = new SqlCommand(norewwsQuery, NOF_DB_CONN);
var iddu : SqlParameter = new SqlParameter("@IDvalue", SqlDbType.Int, 4);
iddu.Value = NOF_PrepareSQLParameter(Request.QueryString(Server .HtmlEncode("id")), true);
cmd.Parameters.Add(iddu);
var norewwsSortOrder : String = Request.QueryString("NOF_SORT_ORDER_norewws");
var norewwsSortDir : String = Request.QueryString("NOF_SORT_DIR_norewws");
if (!NOF_IsEmpty(norewwsSortOrder)) {
if (norewwsQuery.toLowerCase().indexOf("order by") != -1) {
norewwsQuery = norewwsQuery.substr(0, norewwsQuery.toLowerCase().lastIndexOf("order by"));
}
norewwsQuery += " ORDER BY " + norewwsSortOrder + " " + norewwsSortDir;
}
var norewws = (new NOF_ASPDB_STATEMENT()).executeQuery(norewwsQuery, -1);
%>