Avatar billede flushout Nybegynder
08. juni 2004 - 11:51 Der er 2 kommentarer og
1 løsning

Er denne funktion sikret ordentligt mod MySQL-injection?

Hejsa

Jeg har lavet denne lille funktion til at generere insert queries. Jeg vil gerne have sikret mine queries mod MySQL injection og andre angreb. Er de forholdsregler jeg tager her nok?

<?php
function _insertQuery($val, $_table)
{
  $query  = "INSERT INTO ";
  $column  = " ".mysql_escape_string(htmlentities(strip_tags($_table)))." (";
  $data    = "VALUES (";

  foreach ( $val as $key => $value ) {
      if (strlen($key) > 0 && strlen($value) > 0)
      {
          $column .= " ".mysql_escape_string(htmlentities(strip_tags($key))).",";
          $data  .= "'".mysql_escape_string(htmlentities(strip_tags($value)))."',";
      }
  }

  $column = rtrim($column, ",");
  $data = rtrim($data, ",");
 
  $query = $query . $column . ") " . $data . ") ";
 
  return $query;
}
?>

Mvh
Avatar billede dennismp Nybegynder
08. juni 2004 - 12:15 #1
Det tror jeg.

En anden detalje, så kunne du evt quote (med backticks) kolonnenavne og tabelnavne så du ikke får problemer hvis du fx. bruger et kolonnenavn som desc (som er et reserveret ord) .. Når du alligevel auto-genererer sql'en, så kan du ligeså godt bruge `desc`  (og det samme med tabelnavnet).
Avatar billede flushout Nybegynder
14. juni 2004 - 13:04 #2
ok.. smid et svar og du får nogle points :)
Avatar billede dennismp Nybegynder
14. juni 2004 - 13:24 #3
ok
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
Computerworld tilbyder specialiserede kurser i database-management

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