Zunächst möchte ich sagen, dass dies eine hässliche Art ist, Dinge zu tun. Höchstwahrscheinlich das hässlichste. Wenn Sie den Firmennamen hier nicht hinzufügen möchten, werde ich. Es ist interiorwebdesign.com . Höchstwahrscheinlich werden an den Server die Magento-Version, die Erweiterungsversion und die URL Ihrer Website gesendet. Sie können dies sicher überprüfen, indem Sie base64_decode
den Wert des sdata
an sie gesendeten Parameters überprüfen . Ich weiß nicht, wie die Antwort lauten soll, wenn Ihre Lizenz korrekt ist, aber falls ein Fehler auftritt, ist dies die Antwort:
checkout.o_p_c_l_s = '2';
deljsphp();
Suchen Sie im Code nach einer aufgerufenen Funktion deljsphp
. Ich denke, das deaktiviert Ihre Kasse.
[BEARBEITEN]
Weil ich wütend werde, wenn ich diese Art von Erweiterungen sehe, habe ich beschlossen, etwas Zeit für Nachforschungen zu verschwenden.
Folgendes habe ich gefunden. Das Ergebnis der Anforderung sollte ein Link zu einer JS-Datei oder einem JS-Code auf ihrem Server sein. Nachdem ich die js-Datei aus der Erweiterung dekodiert hatte, fand ich diese Funktion:
start: function () {
this.s_code = $('opc_s_data').value;
$('opc_s_data').remove();
if (this.s_code == '') {
this.opcdis();
return false
}
addjsphp(this.s_code);
this.getActionResults(0)
},
Wenn also der Code 'Lizenz' gültig ist, werden dem DOM einige js hinzugefügt, die folgendermaßen addjsphp
aussehen:
function addjsphp(u) {
var me = document.createElement('div');
me.setAttribute('id', 'opcstataj');
var p = 'html';
var th1 = document.getElementsByTagName(p)[0];
th1.appendChild(me);
var th = document.getElementById('opcstataj');
var s = document.createElement('script');
s.setAttribute('language', 'javascript');
s.setAttribute('type', 'text/javascript');
s.setAttribute('src', u);
th.appendChild(s)
}
Ich weiß (noch) nicht, wie die js von ihrem Server aussehen sollen, aber hier ist, was Sie versuchen können. Ich bin mir nicht sicher, ob es funktioniert. Bearbeiten Sie die js-Datei skin\frontend\base\default\js\onepagecheckout.pack.js
und fügen Sie am Ende der Datei Folgendes hinzu:
function deljsphp(){
return 1;
}
Dies sollte die ursprüngliche deljsphp
Funktion überschreiben , die übrigens so aussieht:
function deljsphp() {
var th = $('opcstataj');
if (th && th != null && th != undefined) th.remove()
}
Grundsätzlich wird das <script>
hinzugefügte Tag von ihrem Server entfernt.
Sonstige Informationen
Der Code, der in der von Ihnen in der Frage genannten Zeile ausgewertet wird, lautet wie folgt:
eval (gzinflate (base64_decode ( 'jZAxb8MgEIXn + FfQCBl7qL1UHRLRDFGkLlWjOM0SVRHBV4NqwIKLqqrKfy84S9MuXeDgcd97BzWiI5xQVDrcPnSAT6IDi24HPmhni3KeUePaqyfP6 + VPWV2Jy5Nv0Hl48X1UJ5OMhqhPow3 / onE95xGXSteec2WFgXhQ51xIjEAuFcj3aaS2AkVsPIoA93cHsNK1UNAwGiZicQNmwM CHprVZrfa7Nnjdrtu2GtJ8pz8ueWcM2dZuWAKcQhsNu4s0k6 + + + TwOoULFZXWuL4LXzH3BsIejOVtKZ2lw pXaD7LUEGyCVl8jVoIZFSHE5q8bY80y / FWlAIJwThhCQlb + NeidFr1zA / 0K / AQ ==')));
Weiter gehen ... das ist der Code, der tatsächlich ausgewertet wird:
$mag = $this->getMagentoVersion();
$mod = $this->getOPCVersion();
$h = $this->getCurStoreUrl();
$s = "mag={$mag}&mod={$mod}&hname={$h}&action=check";
$data = base64_encode($s);
$hs = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on')?'https':'http';
$url = $hs.'://interiorwebdesign.com/magento/opclicense/opcaction.php?sdata='.$data;
if($mode == 'test')
$url = $hs.'://localhost/opclicense/opcaction.php?sdata='.$data;
Dies bestätigt meinen anfänglichen Verdacht, was an ihre Server gesendet wird.