दिलचस्प पोस्ट
क्या सी # असिनीकृत चर खतरनाक है? फायरबसे के लिए क्लाउड फ़ंक्शन के साथ अपलोड की गई फ़ाइल से डाउनलोड यूआरएल प्राप्त करें एसयूडीओ का उपयोग करते समय पर्यावरण चर रखने के लिए कैसे एक सरणी को दोहराने के लिए क्या हमें इंटरफ़ेस की विधि कार्यान्वयन को बदलना चाहिए? उलटाव के साथ काम करने के लिए गिट का उपयोग करना: ट्रैक किए गए फ़ाइलों में संशोधन को अनदेखा करना कार्यात्मक प्रोग्रामिंग, स्काला मानचित्र और गुना छोड़ दिया html5 बनाम फ्लैश – कहीं भी पूर्ण तुलना चार्ट? jQuery और टिंइएमईईई: टेडेरेआ वैल्यू प्रस्तुत नहीं होता है क्या करता है: Infks ऑपरेटर Haskell में करते हैं? मैन्युअल रूप से एक DataGridViewComboBoxColumn ड्रॉप कैसे करें? जावा के लिए एक अच्छी सॉर्टेड सूची जावा Enums: दो enum प्रकार, एक दूसरे के लिए प्रत्येक संदर्भ युक्त? अपने ऐप के मैनिफेस्ट में Google Play सेवाएं संस्करण जोड़ना? हार्ड डिस्क सीरियल नंबर प्राप्त करें

चेतावनी "PHP के लिए नेटबीन्स 7.4 पर" सुपर ग्लोबल $ _POST सरणी पर सीधे प्रवेश न करें "

जब मैं $ _POST , $ _GET , $ _SERVER , …. का उपयोग कर रहा हूं, तो मुझे PHP के लिए नेटबीन्स 7.4 पर यह संदेश चेतावनी मिली है।

सुपर ग्लोबल $ _POST सरणी पर सीधे प्रवेश न करें

इसका क्या मतलब है? इस चेतावनी को ठीक करने के लिए मैं क्या कर सकता हूं?

संपादित करें: इवेंट नमूना कोड अभी भी यह चेतावनी दिखाता है।

Solutions Collecting From Web of "चेतावनी "PHP के लिए नेटबीन्स 7.4 पर" सुपर ग्लोबल $ _POST सरणी पर सीधे प्रवेश न करें ""

$_POST['var_name'] बजाय filter_input(INPUT_POST, 'var_name')
$_POST बजाय filter_input_array(INPUT_POST)

थोड़ी देर के बावजूद, मुझे इस प्रश्न के लिए एक ही समस्या का हल खोजते हुए देखा है, इसलिए मुझे आशा है कि यह किसी भी मदद का हो सकता है …

अपने आप से एक ही अंधेरे में मिला। बस इस लेख को मिला, जो नेटबींस 7.4 में पेश किए गए कुछ नए संकेतों को बताते हैं, जिसमें यह शामिल है:

https://blogs.oracle.com/netbeansphp/entry/improve_your_code_with_new

यह क्यों जोड़ा गया है यह कारण है कि सुपर-ग्लोबल आमतौर पर उपयोगकर्ता इनपुट से भर जाता है, जिसे कभी भी आंखों पर भरोसा नहीं करना चाहिए। इसके बजाय, कुछ प्रकार की फ़िल्टरिंग की जानी चाहिए, और यही संकेत संकेत मिलता है। सुपरगलबल मूल्य को फ़िल्टर करें यदि इसमें कुछ जहर सामग्री है

उदाहरण के लिए, जहां मैं था:

 $_SERVER['SERVER_NAME'] 

मैं इसके बजाय डाल दिया है:

 filter_input(INPUT_SERVER, 'SERVER_NAME', FILTER_SANITIZE_STRING) 

आपके पास filter_input और फ़िल्टर डॉक्टर यहां है:

http://www.php.net/manual/en/function.filter-input.php

http://www.php.net/manual/en/filter.filters.php

मैं अन्य उत्तरदाताओं से सहमत हूं कि अधिकांश मामलों में (लगभग हमेशा) आपके इनपुट को साफ करना आवश्यक है

लेकिन इस तरह के कोड पर विचार करें (यह एक बाकी नियंत्रक के लिए है):

 $method = $_SERVER['REQUEST_METHOD']; switch ($method) { case 'GET': return $this->doGet($request, $object); case 'POST': return $this->doPost($request, $object); case 'PUT': return $this->doPut($request, $object); case 'DELETE': return $this->doDelete($request, $object); default: return $this->onBadRequest(); } 

यहां पर सफाई लागू करने के लिए यह बहुत उपयोगी नहीं होगा (हालांकि यह कुछ भी नहीं तोड़ता, या तो)

इसलिए, अनुशंसाओं का पालन करें, लेकिन आँख बंद करके नहीं – बल्कि समझें कि वे क्यों हैं 🙂