I've been working on an ASP.NET/C# project and ajax, and now that my ajax call works I'd like to make it secure.
For now, it works like this :
[HttpPost]
public ActionResult CheckReturn(TitreWrapper titreWrap)
{
string titre = titreWrap.titre;
var contexte = new intranetEntities();
var ajax = contexte.evenementiel.SqlQuery("SELECT * FROM evenementiel WHERE titrebri_evenementiel LIKE '%'+titre+'%' ORDER BY datecreation_evenementiel DESC;");
ViewBag.ajax = ajax;
return PartialView();
}
which is, I know, extremely insecure.
So I searched, and read about parameterized queries, and tried this :
[HttpPost]
public ActionResult CheckReturn(TitreWrapper titreWrap)
{
string titre = titreWrap.titre;
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@titre", titre);
var contexte = new intranetEntities();
var ajax = contexte.evenementiel.SqlQuery("SELECT * FROM evenementiel WHERE titrebri_evenementiel LIKE '%@titre%' ORDER BY datecreation_evenementiel DESC;");
ViewBag.ajax = ajax;
return PartialView();
}
which didn't work as intended :( It just changed the query (which is, in a sense, extremely secure now, you can't do anything else than getting the results of the premade query).
I don't know how to do it without deeply changing my code.
Anybody got any idea ?