hd-showgirl 發表於 2012-5-11 14:31

每個user瀏覽canonfans的網頁大都會傳送「一些」訊息給 http:/

每個user瀏覽canonfans的網頁大都會傳送「一些」訊息給 http://init.phpwind.net

1. 以 http://www.canonfans.biz/read.php?tid=24922 為例。

2. 使用firefox加adblock plus,點APB圖示的Open blockable items
你會看到一行 Type 為 script 的:
http://init.phpwind.net/init.php?sitehash=10BQMLVwBRUFwCVw1XUAQFBAdXAQdTU1JSUw5QCARVBVI&v=8.7&c=0

3. 這個script的內容請看 5.

其中有一行: parentobj=document.getElementById('read_tpc');
各位可以在打開 http://www.canonfans.biz/read.php?tid=24922 後,按Ctrl-U看網頁原始檔,
按Ctrl-F尋找 id="read_tpc"
這個div的內容就是該帖的樓主發言內容。
我對php不熟(剛摸一、二個星期),請問各位熟php、網站技術的前輩,http://init.phpwind.net 可以以此直接抓取論壇的私密帖子嗎?
謝謝!


4. 建議canonfans,修改phpwind目錄下的global.php,


      $output .= "<script type=\"text/javascript\">(function(d,t){
var url=\"http://init.phpwind.net/init.php?sitehash={$GLOBALS}&v={$GLOBALS}&c=$ceversion\";
var g=d.createElement(t);g.async=1;g.src=url;d.body.insertBefore(g,d.body.firstChild);}(document,\"script\"));</script>";

改成
/*
      $output .= "<script type=\"text/javascript\">(function(d,t){
var url=\"http://init.phpwind.net/init.php?sitehash={$GLOBALS}&v={$GLOBALS}&c=$ceversion\";
var g=d.createElement(t);g.async=1;g.src=url;d.body.insertBefore(g,d.body.firstChild);}(document,\"script\"));</script>";
*/



// ======================================================

5. http://init.phpwind.net/init.php

agt   = navigator.userAgent.toLowerCase();
is_ie   = (agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1);
is_gecko= navigator.product == "Gecko";

function ietruebody2(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}
function showjs(position,unioncode,v){
    if(position=='banner'){
      parentobj=document.getElementById('banner');
      if(parentobj){
            parentobj.innerHTML=unioncode;
      }
    }else if(position=='middle'){
      parentobj=document.getElementById('infobox');
      if(parentobj){
            parentobj.parentNode.innerHTML=parentobj.parentNode.innerHTML.replace(/<!--ads begin-->/i,'<div style="margin-top:7px;"><center>'+unioncode+'</center></div>');
      }
      return;
    }else if(position=='footer'){
      parentobj=document.getElementById('bottom');
      if(parentobj){
            parentobj.innerHTML='<center>' + unioncode + '</center>';
      }
    }else if(position=='atctop'){
      parentobj=document.getElementById('read_tpc');
      if(parentobj){
            parentobj.innerHTML='<div>' + unioncode + '</div><br />' + parentobj.innerHTML;
      }
      return;
    }else if(position=='atcright'){
      parentobj=document.getElementById('read_tpc');
      if(parentobj){
            parentobj.innerHTML='<div style="float:right">' + unioncode + '</div>' + parentobj.innerHTML;
      }
      return;
    }else if(position=='atcbottom'){
      parentobj=document.getElementById('read_tpc');
      if(parentobj){
            parentobj.innerHTML=parentobj.innerHTML + '<br /><div>' + unioncode + '</div>';
      }
      return;
    }else if(position=='stats'){
      if(parentobj=document.getElementById('stats')){
            var span = document.createElement('span');
            span.innerHTML = unioncode;

            var regExp=/<script.*>(.*)<\/script>/gi;
            if(regExp.test(span.innerHTML)){
                eval(RegExp.$1);
            }
            parentobj.appendChild(span);
      }else if(parentobj=document.getElementById('footer')){
            var span = document.createElement('span');
            span.innerHTML = unioncode;
            parentobj.appendChild(span);
      }else {
            var span = document.createElement('div');
            span.style.display='none';
            span.innerHTML = unioncode;
            document.body.appendChild(span);
      }
      return;
    }else if(position=='survey'){
      if(v=='6.3.2' || !v){
            parentobj=document.getElementById('h_guide');
            if(parentobj){
                var span = document.createElement('span');
                span.innerHTML = unioncode;
                parentobj.appendChild(span);
            }
      }else{
            parentobj=document.getElementById('guide');
            if(parentobj){
                var li = document.createElement('li');
                li.innerHTML = unioncode;
                parentobj.appendChild(li);
            }
      }
      return;
    }
}

h2omei281ym 發表於 2012-5-11 17:07

不懂!!

可以說一下這會有什麼負面影響嗎?!

麻煩!!

hd-showgirl 發表於 2012-5-11 17:47

回 h2omei281ym 的帖子

h2omei281ym:
可以說一下這會有什麼負面影響嗎?!
images/back.gif

我只是懷疑它有負面影響。
例如:如果你在你的網站裝了 http://statcounter.com/的計數器script,它可以記錄user從那個網站的頁面來,去過本站那些頁面,按那個連結離開頁面,頁面的標題等等。
而phpwind的作者又知道phpwind架的論壇的每個網頁的內容項目的id,那理論上它應該可以記錄更多的東西。

如果站長不想改程式,那至少使用firefox的user可以選擇在adblock plus擋掉init.phpwind.net,一方面減少疑慮,一方面加快網頁頁腳完成載入的速度。

bv4bg 發表於 2012-5-11 19:49

不懂.無害路過

IceMaster 發表於 2012-5-11 21:50

以前這個是phpwind的統計函式,沒想到現在已經這麼搞鋼了.... 我已經從論壇中把這段程式碼註解掉了,也可以順道提升網路速度 XD

seanyeh 發表於 2012-6-19 21:32

這,是否有個人隱私的問題呢?
頁: [1]
查看完整版本: 每個user瀏覽canonfans的網頁大都會傳送「一些」訊息給 http:/