मैं Magento इंस्टॉल के बीच में तीसरे पक्ष के कोड का गहराई से हिस्सा से निपट रहा हूं, और मुझे इसके धागे के बाद थोड़ा परेशानी हो रही है। यहाँ मैं दिखाई दे रही है एक त्रुटि संदेश है:PHP की eval() लाइन संख्याओं की गणना कैसे करता है?
PHP Parse error: syntax error, unexpected ']' in /chroot/home/user/example.com/html/dev4/app/code/local/company/PluginName/Model/Module/License/Light/Performer/Reader.php(36) : eval()'d code(18) : eval()'d code(1302) : eval()'d code on line 1
मैं Reader.php
में eval() श्रृंखला की शुरुआत की पहचान की है, और यह लाइन 36 पर है इसलिए उन parenthesized संख्या बाद में अंदर करने के लिए भी बस लाइन संदर्भ हैं, पाठ के बड़े ब्लॉक? मैं इस पर विश्वास करने के इच्छुक हूं, लेकिन मैं खुद को समझ नहीं सकता हूं। यदि ऐसा है, तो eval()'d code(1302)
विशेष रूप से सख्त लगता है। डी:
मैं अधिक संदर्भ दूंगा, लेकिन कोड की लाइसेंस स्थिति सुपर स्पष्ट नहीं है, इसलिए मैं यह दे सकता हूं कि यह ट्रिपल-eval() श्रृंखला वर्तमान में चीजों को तोड़ रही है, और दूसरी परत यह इतना तरह का निर्माण किया है:
$s = "$BLOCK_OF_SCRAMBLED_TEXT"
$s2 = '';
for ($i=0;($i+0xB-1)<strlen($s);$i+=11) {
for ($k = 013-1 ; $k > -1 ; --$k) {
$s2 .= $s[$i+$k];
}
}
eval($s2);
जब आप Magento के कार्यक्रम के प्रवाह के बाहर है कि ब्लॉक एक प्रकार का शराबी, $s2
की तरह सुंदर चीजों में शामिल है -
if($license->getModule()->getDecode()) {
$source = base64_decode($source);
}
...
list($source) = explode("PERFORMER_CLASS_CREATED",$source,2);
$source .= " */";
ob_start();
eval($source);
ob_end_clean();
तो: मैं कैसे बात करने के लिए eval()
की इस श्रृंखला का पता लगा सकते वास्तव में कारण कोड है आईएनजी मुद्दे?
डी: वास्तव में, बहुत बहुत डी:। – deceze
येश, obfuscated कोड? शायद आपको "लाइसेंस स्थिति" तय करनी चाहिए और प्रकाशक को एक फिक्स के लिए पूछना चाहिए। – Hamish
"लाइसेंस स्थिति स्पष्ट नहीं है," मेरा मतलब है, "हम अपने इंस्टॉल में 100% लाइसेंस-अनुरूप हैं, लेकिन मुझे लगता है कि वे SO पर अपने कोड को देखने के लिए काफी नाखुश होंगे।" हम उनकी स्थापना को ठीक करने के बारे में उनके साथ बातचीत कर रहे हैं, लेकिन मुझे संदेह है कि वे अपने Chaotic Evil सॉफ़्टवेयर आर्किटेक्चर को ठीक करने जा रहे हैं। –