मैं कोड की निम्न तीन लाइनों भर में आ गए हैं:
$_SERVER;
$_ENV;
$_REQUEST;
मेरे लिए यह कोड के इन तीन लाइनों की तरह लगता है कुछ भी नहीं। वे किसी भी त्रुटि का कारण नहीं है।
मुझे पता है कि ये तीन वैश्विक चर क्या हैं, मुझे नहीं पता कि कोड की ये तीन पंक्तियां क्या कर रही हैं। क्या कोई मुझे प्रबुद्ध कर सकता है?
पूरी फ़ाइल - मामले में यह प्रासंगिक है:
<?PHP
function register_global_array($sg) {
Static $superGlobals = array(
'e' => '_ENV' ,
'g' => '_GET' ,
'p' => '_POST' ,
'c' => '_COOKIE' ,
'r' => '_REQUEST' ,
's' => '_SERVER' ,
'f' => '_FILES'
);
Global ${$superGlobals[$sg]};
foreach(${$superGlobals[$sg]} as $key => $val) {
$GLOBALS[$key] = $val;
}
}
function register_globals($order = 'gpc') {
$_SERVER; //See Note Below
$_ENV;
$_REQUEST;
$order = str_split(strtolower($order));
array_map('register_global_array' , $order);
}
register_globals('GPCFRES');
?>
और नहीं, नीचे किसी भी टिप्पणी नहीं है।
वे स्पष्ट रूप से कुछ करते हैं क्योंकि यदि मैं उन्हें हटा देता हूं, तो फ़ोरैच लाइन त्रुटियां।
[एनओओपी] (http://en.wikipedia.org/wiki/NOP) इतना आसान – Rizier123
तो क्यों तीन अलग-अलग चर 3 गुना करने के लिए? – Graham
उन चरों को तब तक पंजीकृत नहीं किया जाएगा जब तक उनका उपयोग नहीं किया जाता है। यदि आप '$ _SERVER' का उपयोग करने से पहले' $ _GLOBALS ['_ SERVER'] 'का उपयोग करने का प्रयास करते हैं, तो यह' शून्य 'वापस आ जाएगा। –