Ich verwende die Drupal 7-Methode db_insert , um Daten in eine benutzerdefinierte Tabelle in der Drupal-Datenbank einzufügen. Ich habe gelesen, dass dies der bevorzugte Weg ist, aber ich habe den Code und das Dokument durchgegangen und kann nirgendwo sehen, wo die Werte analysiert werden oder ob diese Werte sicher sind.
Einige der Werte stammen vom Benutzer, daher muss ich nach SQL Injection-Angriffen suchen.
Dies ist das Beispiel, das ich gelesen habe, in dem der Drupal 6 die Werte analysiert und die Drupal 7-Version nicht.
<?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();
?>