Trước hết tôi muốn nói rằng đây là một cách làm xấu xí. Có lẽ là xấu nhất. Nếu bạn không muốn thêm tên công ty vào đây thì tôi sẽ làm. Đó là nội thấtwebdesign.com . Rất có thể những thứ được gửi đến máy chủ của họ là phiên bản magento, phiên bản mở rộng và url của trang web của bạn. Bạn có thể kiểm tra chắc chắn bằng cách thực hiện base64_decode
trên giá trị của sdata
tham số được gửi cho họ. Tôi không biết câu trả lời sẽ là gì nếu giấy phép của bạn là chính xác, nhưng trong trường hợp có lỗi thì đây là phản hồi:
checkout.o_p_c_l_s = '2';
deljsphp();
Tìm trong mã cho một chức năng được gọi là deljsphp
. Tôi nghĩ rằng vô hiệu hóa kiểm tra của bạn.
[EDIT]
Bởi vì tôi phát điên khi thấy những loại tiện ích mở rộng này, tôi quyết định lãng phí thời gian để điều tra.
Đây là những gì tôi tìm thấy. Kết quả của yêu cầu phải là một liên kết đến tệp js hoặc một số mã js trên máy chủ của họ. Sau khi giải mã tập tin js từ phần mở rộng, tôi tìm thấy hàm này:
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)
},
vì vậy nếu mã 'giấy phép' hợp lệ, một số js được thêm vào DOM thông qua addjsphp
như thế này:
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)
}
Tôi không biết (các) js từ máy chủ của họ sẽ trông như thế nào, nhưng đây là những gì bạn có thể thử. Không chắc chắn nếu nó hoạt động. Chỉnh sửa tệp js skin\frontend\base\default\js\onepagecheckout.pack.js
và ở cuối tệp thêm này:
function deljsphp(){
return 1;
}
Điều này sẽ ghi đè deljsphp
chức năng ban đầu , bằng cách này trông như thế này:
function deljsphp() {
var th = $('opcstataj');
if (th && th != null && th != undefined) th.remove()
}
Về cơ bản, nó loại bỏ các <script>
thẻ được thêm vào từ máy chủ của họ.
Thông tin khác
Mã đang được đánh giá trong dòng bạn đã đề cập trong câu hỏi này là:
eval (gzinflate (base64_decode ( 'jZAxb8MgEIXn + FfQCBl7qL1UHRLRDFGkLlWjOM0SVRHBV4NqwIKLqqrKfy84S9MuXeDgcd97BzWiI5xQVDrcPnSAT6IDi24HPmhni3KeUePaqyfP6 + VPWV2Jy5Nv0Hl48X1UJ5OMhqhPow3 / onE95xGXSteec2WFgXhQ51xIjEAuFcj3aaS2AkVsPIoA93cHsNK1UNAwGiZicQNmwM + CHprVZrfa7Nnjdrtu2GtJ8pz8ueWcM2dZuWAKcQhsNu4s0k6 + TwOoULFZXWuL4LXzH3BsIejOVtKZ2lw + pXaD7LUEGyCVl8jVoIZFSHE5q8bY80y / FWlAIJwThhCQlb + NeidFr1zA / 0K / AQ ==')));
Đi xa hơn ... đây là mã thực sự được đánh giá:
$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;
Điều này xác nhận những nghi ngờ ban đầu của tôi về những gì được gửi đến máy chủ của họ.