国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
圍觀騰訊云輸入法如何回發(fā)用戶輸入
圍觀騰訊云輸入法如何回發(fā)用戶輸入 

  太久沒有寫博客了,這個懶惰的慣性實在是太強(qiáng)大。這兩天不說說360和QQ的事情,就顯得很out了,但是說來說去卻又很雞毛。另外我怎么沒有看到什么彈窗呢,聽說好不熱鬧啊,TM/MSN和MSE用戶艱難的表示鴨梨很大。騰訊云輸入法回傳用戶輸入數(shù)據(jù),在這個節(jié)骨眼上被逮到,還真算給力。

 

  大家可以去“騰訊軟件中心”試試這個云輸入法,http://py.qq.com/web/。但是注意不要輸入什么敏感內(nèi)容,免的有被跨省的風(fēng)險。百度也有類似的輸入法,只是好像沒有咋呼叫作云輸入法,而且百度還支持手寫。誰有興趣,可以查一下哪家先出的這種輸入法?

 

  說正經(jīng)的,QQ云輸入法是怎么工作的呢?很簡單,給任意一個網(wǎng)頁導(dǎo)入一個腳本文件就可以了。 

<script type="text/javascript" language="JavaScript" src="http://ime.qq.com/fcgi-bin/getjs"></script>

   相當(dāng)簡單。然后呢,取回一個大約42k的文件,叫ime.js。文件是壓縮過的,版本號:rev.632(這個很重要,待會兒他們一加班,就拿不到了)

 

  腳本啟動后,會后先向服務(wù)器報告一下客戶端環(huán)境,這些從瀏覽器里獲取的參數(shù),不是什么隱私,就是user-agent都比這豐富。

http://ime.qq.com/fcgi-bin/reportfirst?key=d02e5d08310c90ac54d37089fbf3d8ed&version=632&sp=1&sw=1920&sh=1080&dw=1920&dh=512&t=1289458673612

   但是驚喜還是有的,這個報告中包含了一個唯一的key,作用就相當(dāng)于瀏覽器session_id。接下來的所有和騰訊服務(wù)器的交互,都會帶著這個key。

 

  在英文輸入狀態(tài)下,任何字符輸入會被云輸入法腳本截獲,然后向服務(wù)器回發(fā)如下請求:

http://ime.qq.com/fcgi-bin/getword?key=d02e5d08310c90ac54d37089fbf3d8ed&cb=window.QQWebIME.callback612&q=qq

   注意key!cb是ime.js運(yùn)行后注冊的回調(diào)函數(shù),藍(lán)色的qq是我的輸入。服務(wù)器響因為:

window.QQWebIME.callback612({"is_end":"0","p":"1","pg":"5","q":"qq","ret":"suc","rs":["QQ","親戚","親親","悄悄","輕輕","強(qiáng)求","求求","缺錢","請求","親切","圈圈","前期","瞧瞧","親情","全球","氣球","齊全","取錢","情趣","千千"],"rscnt":"20","rsn":["2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2"]})

   這時你可以像普通輸入法一樣進(jìn)行選詞,而且很自然的是,選詞后沒有服務(wù)器請求發(fā)生。也就是你的輸入內(nèi)容,都是在瀏覽器本地完成的,騰訊除了知道你請求了什么候選詞列表外,不知道你到底輸入了什么。似乎這一切都很美好,也就應(yīng)該是這么美好才對,是吧?

 

  但是這不是360在隱私問題上掐QQ嗎,本來我一直認(rèn)為騰訊這么大一個上市公司,做事還是該有點(diǎn)底線的。但是360讓大家看到了騰訊是沒有底線的,真流氓揭露了偽君子。于是我就懷著最大的惡意想,這輸入法因該還是有問題的。于是繼續(xù)使用,突然發(fā)現(xiàn)一個異常的服務(wù)器請求,如下: 

http://ime.qq.com/fcgi-bin/reportword?key=d02e5d08310c90ac54d37089fbf3d8ed&num=11&xl=danshi,%E4%BD%86%E6%98%AF,0,0,1,0|zhe,%E8%BF%99,0,0,1,0|bushi,%E4%B8%8D%E6%98%AF,0,0,1,0|zaihe,%E5%9C%A8%E5%92%8C,0,0,1,0|tengxun,%E8%85%BE%E8%AE%AF,0,0,1,0|zuoweiyige,%E4%BD%9C%E4%B8%BA%E4%B8%80%E4%B8%AA,0,0,1,0|shangshi,%E4%B8%8A%E5%B8%82,0,0,1,0|gongsi,%E5%85%AC%E5%8F%B8,0,0,1,0|zuoshihaishiyinggai,%E5%81%9A%E4%BA%8B%E8%BF%98%E6%98%AF%E5%BA%94%E8%AF%A5,0,0,1,0|you,%E6%9C%89,0,0,1,0|dixian,%E5%BA%95%E7%BA%BF,0,0,1,0

   把這堆編碼過的字符轉(zhuǎn)回來,是: 

http://ime.qq.com/fcgi-bin/reportword?key=d02e5d08310c90ac54d37089fbf3d8ed&num=11&xl=danshi,但是,0,0,1,0|zhe,這,0,0,1,0|bushi,不是,0,0,1,0|zaihe,在和,0,0,1,0|tengxun,騰訊,0,0,1,0|zuoweiyige,作為一個,0,0,1,0|shangshi,上市,0,0,1,0|gongsi,公司,0,0,1,0|zuoshihaishiyinggai,做事還是應(yīng)該,0,0,1,0|you,有,0,0,1,0|dixian,底線,0,0,1,0

  你這時是不是只想向狗日的企鵝豎起中指呢?

 

  這是不是我沒看清楚了,把ime.js仔細(xì)看了一下,tmd居然是混淆過的,看得我好累

。謎底就在這里了:

ha = function () {
    
var e = [], a = new Image(11), b = false,
    j 
= function () {
        a.onload 
= a.onerror = null;
        b 
= false;
        J 
&& CollectGarbage()
    },
    r 
= function (w) {
        b 
&& j();
        a.src 
= w;
        a.onload 
= a.onerror = j;
        a.complete 
&& j();
        b 
= true
    },
    s 
= "", n = "",
    v 
= function () {
        
return s + "&num=" + e.length + "&xl=" + e.join("|")
    };
    
return {
        a:
        
function () {
            
var w;
            w 
= c.c();
            w 
= o.b("cgiPrx"+ "reportfirst?key=" + o.b("prvKey"+ "&version=632&sp=" + o.b("lnchr"+ "&sw="
                
+ screen.width + "&sh=" + screen.height + "&dw=" + w[0+ "&dh=" + w[1+ "&t=" + Ba;
            r(w);
            s 
= o.b("cgiPrx"+ "reportword?key=" + o.b("prvKey")
        },
        b:
        
function (w) {
            
if (S !== w) {
                
var l = w.length;
                
if (0 !== l) {
                    
for (var h = "", m = "", g = 0; g < l; g++) {
                        
var x = w[g],
                        k 
= encodeURIComponent(x.kanji);
                        e.push(x.spell 
+ "," + k + "," + n);
                        h 
+= x.spell;
                        m 
+= k
                    }
                    
1 < l && e.push(h + "," + m + "," + n);
                    
if (10 < e.length) {
                        r(v()); e 
= []
                    }
                }
            }
        },
        j:
        
function (w) {
            w 
= o.b("cgiPrx"+ "re?key=" + o.b("prvKey"+ "&ec=" + w + "&py=" + B.o() + "&t="
                
+ (+new Date).toString().slice(0-3+ "&v=632";
            r(w)
        },
        k:
        
function () {
            
if (0 !== e.length) {
                r(v());
                e 
= []
            }
        },
        l:
        
function () {
            
var w = 1 === o.b("iptMode");
            n 
= ["0", o.b("iptMode"- 1, w ? o.b("pyMode") : "0", w && 1 !== o.b("pyMode"? o.b("spType") : "0"].join(",")
        }
    }
} ()

  多貼點(diǎn)code,表示這是技術(shù)貼,不是5毛貼咯(聽說漲7毛了,通脹太厲害了)。答案就在這個ha偽類的函數(shù)b里,這個b函數(shù)是用來記錄輸入歷史的,但是在這個方法最后,做了一個判斷:if (10 < e.length) { r(v()); e = [] }。e是存放輸入歷史的數(shù)組,方法r和v是負(fù)責(zé)組裝和回發(fā)數(shù)據(jù)的,發(fā)完后清空了e。

 

  難道收集用戶輸入內(nèi)容成了中國國情了?微軟拼音2010還真的有這個功能,不過它會明確提示用戶,并且只是發(fā)回那些用戶糾正輸入推薦,而且回發(fā)的內(nèi)容也是用戶可以很容易看到和編輯的。另外同樣是web ime的百度輸入法,回發(fā)服務(wù)器的信息是:

http://olime.baidu.com/py?py=baidu&rn=0&pn=20&t=1289460415974

  注意,這里沒有key信息,這不是說百度就不能identify你,因為還有瀏覽器session_id,但是百度的輸入法沒有回發(fā)用戶實際選詞,所以是無法在服務(wù)期上還原用戶輸入的。

 

  雖然這是篇技術(shù)文章,但是肯定摻雜了莫名的立場,那我現(xiàn)在的立場就是:脅迫用戶者不得好死!

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
輸入法圍爐大辯論 五筆真的沒落了嗎?
拼音之后 搜狗搜索
因為保護(hù)隱私,微信要推出自有輸入法,你會使用嗎?
輸入法技巧
word中五角星符號怎么打
QQ輸入法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服