एक बात में अस्थायी रूप से उपयोग डेटा भंडारण मैं अधिक बार हाल ही में कर एक कार्य की शुरुआत में कुछ डेटा पुनर्प्राप्त कर रहा है शुरू कर दिया है और यह भंडारण की विपक्ष क्या हैं एक $ _SESSION ['myDataForTheTask'] में।
अब ऐसा करने में बहुत सुविधाजनक लगता है लेकिन मुझे इस दृष्टिकोण का उपयोग करके प्रदर्शन, सुरक्षा जोखिम या इसी तरह के बारे में कुछ भी पता नहीं है। क्या यह ऐसा कुछ है जो नियमित रूप से प्रोग्रामर द्वारा अधिक विशेषज्ञता के साथ किया जाता है या क्या यह शौकिया चीज है?
उदाहरण के लिए:
if (!isset($_SESSION['dataentry']))
{
$query_taskinfo = "SELECT participationcode, modulearray, wavenum FROM mng_wave WHERE wave_id=" . mysql_real_escape_string($_GET['wave_id']);
$result_taskinfo = $db->query($query_taskinfo);
$row_taskinfo = $result_taskinfo->fetch_row();
$dataentry = array("pcode" => $row_taskinfo[0], "modules" => $row_taskinfo[1], "data_id" => 0, "wavenum" => $row_taskinfo[2], "prequest" => FALSE, "highlight" => array());
$_SESSION['dataentry'] = $dataentry;
}
आपकी SQL क्वेरी SQL इंजेक्शन हमलों के लिए कमजोर है। उदाहरण के लिए कोई '? Wave_id = wave_id' डाल सकता है और क्वेरी सभी पंक्तियों का चयन करेगी। (इसे हटा, सम्मिलित करें, और अद्यतन क्वेरी के साथ भी बदतर है।) इस मामले में आप यकीन है कि यह एक संख्या है, और सबसे आसान तरीका है कि intval है करना है बनाने के लिए कोड लिखना चाहिए() –