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.
Marius, Danke für die Untersuchung. Auch ich mag und entmutige die Entwickler von Magento-Modulen nicht, diese Art von "Telefon-Heimanrufen" auf ihren Nebenstellen zu schalten. Sie sollten freigelegt und ausgerottet werden.
Gehen Sie wie folgt vor, um den Telefonanruf zu Hause zu deaktivieren und Ihre Onepagecheckout-Erweiterung funktionsfähig zu halten (ja, sie können ihn deaktivieren).
Kopieren Sie die Datei /skin/frontend/base/default/js/onepagecheckout.pack.js in Ihren Themenordner / js / onepagecheckout.pack.js und verschönern Sie den Code mithilfe einer Website wie: http://jsbeautifier.org/
Jetzt um die Zeile: 244 in der Startmethode Sie werden sehen
ändere es auf
Dadurch wird verhindert, dass das Skript immer zu seiner langsamen Website nach Hause telefoniert, und es wird verhindert, dass es auf die Codeergebnisse reagiert
Dies sollte funktionieren, aber testen Sie es, bevor Sie es ausrollen. Es ist schließlich Ihre Kasse
quelle
Das möchte ich sagen
regular code was just about to collect information on what version was used by our clients. No other information was collected.
Wir haben das auch seit Version 3 entfernt.
was released like about 1.5 years ago.
Wenn Sie also immer noch Version 2 verwenden, ist es Zeit für Sie, auf Version 4.x zu aktualisierenquelle