J'utilise la méthode Drupal 7 db_insert , pour insérer des données dans une table personnalisée dans la base de données Drupal. J'ai lu que c'est la façon préférée, mais j'ai parcouru le code et le doco et je ne vois aucun endroit qui analyse les valeurs ou me dit que ces valeurs sont sûres.
Certaines valeurs proviennent de l'utilisateur, je dois donc vérifier les attaques par injection SQL.
C'est l'exemple que je lisais, où le Drupal 6 analyse les valeurs, et pas la version drupal 7.
<?php
// Drupal 6 version
db_query('INSERT INTO {vchess_games}
(gid, timestamps, white, black, state, board_white, board_black) ' . "VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
$gid, $timestamps, $game['white'], $game['black'], $state, $board_white, $board_black);
// Drupal 7 version
db_insert('vchess_games')
->fields(array(
'gid' => $gid,
'timestamps' => $timestamps,
'white' => $game['white'],
'black' => $game['black'],
'state' => $state,
'board_white' => $board_white,
'board_black' => $board_black
))
->execute();
?>