Ich habe es mitten in einer Magento-Installation mit einem sehr unangenehmen Stück Code von Drittanbietern zu tun, und ich habe ein paar Probleme, seinen Threads zu folgen. Hier ist eine Fehlermeldung ich sehe:Wie zählt PHPs eval() Zeilennummern?
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
ich den Beginn der eval() Kette in Reader.php
identifiziert haben, und es ist auf der Linie 36. So sind die eingeklammerten Zahlen danach auch nur Linie Verweise auf innerhalb große Textblöcke? Ich neige dazu, das zu glauben, aber ich kann das nicht alleine herausfinden. Wenn das der Fall ist, scheint das eval()'d code(1302)
besonders schlimm. D:
Ich würde mehr Kontext geben, aber der Lizenzstatus des Codes ist nicht super klar, so alles, was ich geben kann, ist, dass diese Triple-Eval() Kette derzeit Dinge zu brechen, und dass die zweite Schicht es wie so aufgebaut ist:
$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);
Wenn Sie diesen Block außerhalb von Magento Programmablauf swizzle, enthält $s2
schöne Dinge wie -
if($license->getModule()->getDecode()) {
$source = base64_decode($source);
}
...
list($source) = explode("PERFORMER_CLASS_CREATED",$source,2);
$source .= " */";
ob_start();
eval($source);
ob_end_clean();
also: wie kann ich diese Kette von eval()
auf den Punkt Spuren des Codes, der eigentlich caus ist Probleme?
D: tatsächlich, sehr sehr D :. – deceze
Yeesh, verschleierter Code? Vielleicht sollten Sie den "Lizenzstatus" beheben und den Herausgeber nach einer Lösung fragen. – Hamish
Mit "Lizenzstatus ist nicht klar", meine ich, "wir sind 100% lizenzkonform in unserer Installation, aber ich denke, dass sie ziemlich unglücklich sein würden, ihren Code auf SO zu sehen." Wir verhandeln mit ihnen über die Reparatur unserer Installation, aber ich bezweifle, dass sie ihre Chaotic Evil Software-Architektur reparieren werden. –