2012-11-12 11 views
5

साक्षात्कार सवालप्राप्त चर

मैं प्रश्न के नीचे मिल में से एक में पीएचपी का उपयोग करके लोगों को प्रतिबंधित करें "कैसे आप अपने कस्टम निर्माण ढांचे में अपने डेवलपर्स सीमित कर सकते हैं $_GET चर का उपयोग करने के लिए।"

हम अपने स्वयं के कस्टम निर्माण ढांचा है, लेकिन हमारे ढांचे में हम सीमित नहीं कर सकते लोगों $this->request->get या $this->request->post के स्थान पर $_GET या $_POST उपयोग करने के लिए।

हमारे पास इस चर का उपयोग करने के लिए विधि है लेकिन अधिकांश समय हमारे लोग इसके बजाय $_GET या $_POST का उपयोग करते हैं।

क्या आप कृपया मुझे इसके लिए उत्तर दे सकते हैं?

धन्यवाद

+1

कोड के लिए एक रिपोजिटरी * अस्वीकार * बनाएं जिसमें $ _GET/$ _ POST शामिल है और आपत्तिजनक पार्टी को किस तकनीक का उपयोग करना है :) को निर्देशित करें (वैकल्पिक रूप से, अस्वीकार न करें, लेकिन दोष/कोड-समीक्षा: हालांकि एक ही विचार - पहचान और सही करें।) –

+0

कोई फर्क नहीं पड़ता कि आप किस समाधान को अपनाते हैं, एक डेवलपर हमेशा 'parse_str (getenv (' QUERY_STRING '), $ _GET = array())' को रोकने के लिए सक्षम होगा। – eggyal

उत्तर

6

php.ini में, variables_order विकल्प से G और P वर्ण निकाल दें।

वैकल्पिक रूप से

, अगर आप उन्हें आप हमेशा के लिए नफरत के लिए, आप superglobal की सामग्री की प्रतिलिपि सकता है, तो एक वर्ग है कि एक अपवाद फेंकता है जब भी आप इसके साथ सहभागिता करने की कोशिश का एक उदाहरण के लिए सेट हैं:

class supaglobal implements arrayaccess 
{ 
    public function _construct(){} 

    function offsetExists($offset) { 
     throw new Exception("Don't use GET, bro"); 
    } 
    function offsetSet($property, $value){ 
     throw new Exception("Don't use GET, bro"); 
    } 
    function offsetUnset($property) { 
     throw new Exception("Don't use GET, bro"); 
    } 
    function offsetGet($property){ 
     throw new Exception("Don't use GET, bro"); 
    } 
} 

$approvedget = $_GET; 
$_GET = new supaglobal(); 
$abcd = $_GET["abcd"]; // throws exception 
$abcd = $approvedget["abcd"]; // A - OK 
+1

उल्लेख किया गया '$-- अनुरोध-> प्राप्त करें' और '$ यह-> अनुरोध-> पोस्ट' शायद' $ _POST' और '$ _GET' का उपयोग करें। तो 'जी' और 'पी' को हटाकर उन गुणों को 'शून्य' वापस कर दिया जाएगा। – Leri

+1

@PLB आप सही हैं। अद्यतन समाधान देखें। –

+0

अच्छा कामकाज +1 – Leri

संबंधित मुद्दे