मैं Drupal डेटाबेस में कस्टम तालिका में डेटा सम्मिलित करने के लिए Drupal 7 विधि db_insert का उपयोग कर रहा हूं । मैंने पढ़ा है कि यह पसंदीदा तरीका है, हालांकि मैंने कोड और डोको के माध्यम से चला है और मैं कहीं भी नहीं देख सकता हूं जो मूल्यों को पार्स करता है, या मुझे बताता है कि ये मूल्य सुरक्षित हैं।
कुछ मान उपयोगकर्ता से आ रहे हैं इसलिए मुझे SQL इंजेक्शन हमलों के खिलाफ जांच करने की आवश्यकता है।
यह वह उदाहरण है जो मैं पढ़ रहा था, जहां ड्रुपल 6 मानों को पार्स करता है, और ड्रुपल 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();
?>