Avatar billede cigaretten Nybegynder
05. oktober 2007 - 03:09 Der er 5 kommentarer

escape string til mysql

i php findes der en funktion ved navn mysql_real_escape_string til at undgå sql-injections ved indsættelse af mysql data.. hvad hedder sådan en funktion i asp.net ??

cigaretten.
Avatar billede arne_v Ekspert
05. oktober 2007 - 03:12 #1
Ingenting.

Man bruger nemlig parameters i.s.f. !

Læs http://www.eksperten.dk/artikler/831 ...

(og ja - det kan også bruges med MySQL)
Avatar billede arne_v Ekspert
05. oktober 2007 - 03:16 #2
En kode snippet:

    MySqlConnection con = new MySqlConnection(CONNSTR);
    con.Open();
    MySqlCommand ins = new MySqlCommand("INSERT INTO daf VALUES (?id, ?path)", con);
    ins.Parameters.Add("?id", MySqlDbType.Int32);
    ins.Parameters.Add("?path", MySqlDbType.VarChar);
...
        ins.Parameters["?id"].Value = i;
        ins.Parameters["?path"].Value = fnm;
        ins.ExecuteNonQuery();
...
    con.Close();
Avatar billede cigaretten Nybegynder
05. oktober 2007 - 03:18 #3
kunne man ikke lave en funktion som automatisk returnede den valideret string ?

...

function __isValid ( @string )
{
      return @string.Replace("'","");
}

f.eks ?? ville det ikke være bedst? også kunne man lave
"INSERT INTO a (b) values ('__isValid('hell'hell')')"
?
Avatar billede cigaretten Nybegynder
05. oktober 2007 - 03:22 #4
INSERT INTO brugere (brugernavn, kodeord, email) VALUES ('" + user.Replace("'","''") + "','" + pass.Replace("'","''") + "','" + mail.Replace("'","''") + "')

det kan da stadig fuskes hvis man så indtaster '' OR name='
-->
INSERT INTO brugere (brugernavn) VALUES ('''' or name='')
Avatar billede arne_v Ekspert
05. oktober 2007 - 04:20 #5
Hvis du bruger parameters så laver ADO.NET provideren selv al den nødvendige escaping.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester