360搜索引擎so自動收錄php改寫方案——適合phpcms等cms

360搜索引擎自動收錄功能,官方提供了代碼,帶式,十分坑爹,沒有提供批量提交入口,只是提供了一段js代碼,關鍵是 一個js去下載另外一個js,document.write到文檔,然後再 重複2遍如此工作。

弱弱地問:為什麼不像百度一樣提供 批量提交入口?

難道是,靠這個自動提交功能,搜集網站的數據,比如document.refer等數據?這個也是比較流氓了吧?

據說360的搜索引擎目前在中國 市場佔有率為20%以上,不知道真假,本人是十分懷疑的!

起碼本人基本只用谷歌!奈何在天朝還是基本用百度,小白還是太多太多的!

只好忍了,加360的自動收錄吧!

於是對代碼進行一番改造!

官網的原始代碼如下:

<script>(function(){var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?970506d365e969bd0e92a2611c18678e":"https://jspassport.ssl.qhimg.com/11.0.1.js?970506d365e969bd0e92a2611c18678e";document.write(<script src=" + src + " id="sozz"></script>);})();

js.passport.qihucdn.com

document.write(<script charset="utf-8" src="s7.qhres.com/static/ab7"></script>)

http://s7.qhres.com/static/ab77b6ea7f3fbf79.js

官網提供的代碼進過二次方document.write的代碼如下,這個js的代碼如下:

(function (e) {

function t(e) {

var t = location.href, n = t.split("").reverse(), r = e.split(""), i = [];

for (var s = 0, o = 16; s < o; s++)i.push(r[s] + (n[s] || ""));

return i.join("")

}

var n = /([http|https]://[a-zA-Z0-9\_.]+.so.com)/gi, r = e.location.href;

if (r && !n.test(r) && window.navigator.appName) {

var i = "//s.360.cn/so/zz.gif", s = document.getElementById("sozz"), o = s.src.split("?")[1], u = t(o), a = new Image;

r && (i += "?url=" + encodeURIComponent(r)), o && (i += "&sid=" + o), u && (i += "&token=" + u), o && (a.src = i)

}

})(window);

分析發現

最終目的還是 img 請求提交,尼瑪,於是,改造如下:

在phpcms v9的 phpcms/libs/functions/ 目錄下,找到 extention.func.php 文件,添加如下代碼:

/**

* 360推送 @zhoulujun.cn

*/

function getPushSoUrl($url){

$token="970506d365e969bd0e92a2611c18678e";

return $str="s.360.cn/so/zz.gif?".urlencode($url)."&sid=". $token."&token=".getPushToken($url,$token);

}

function getPushToken($url,$o){

$n = str_split($url,1);

$n=array_reverse($n);

$r = str_split($o,1);

$i=[];

for($s=0,$o=16;$s<$o;$s++)

{

array_push($i,empty($n[$s])?$r[$s]:$r[$s].$n[$s]);

}

return implode($i);

}

/*

class push_so_url{

private $token="970506d365e969bd0e92a2611c18678e";

public function setToken($token){

$this->token=$token;

}

// function __construct($token) {

// $this->token=$token;

// }

public function getPushToken($url,$o){

$n = str_split($url,1);

$n=array_reverse($n);

$r = str_split($o,1);

$i=[];

for($s=0,$o=16;$s<$o;$s++)

{

array_push($i,empty($n[$s])?$r[$s]:$r[$s].$n[$s]);

}

return implode($i);

}

public function getImgUrl($url){

return $str="s.360.cn/so/zz.gif?".urlencode($url)."&sid=". $this->token."&token=".$this->getPushToken($url,$this->token);

}

}

*/

在 模板 phpcms/templates/default/content/ 比如show index 添加如下代碼:

<img src="{getPushSoUrl($_SERVER[HTTP_HOST].$url)}">

okay,驗證下

和js的效果是一樣的。

手工,不知道官方對此方案態度如何,目前還沒有收到回復,郵寄給官方發過郵寄和論壇、知乎都提問,無人問津啊

先幹了再說吧!

轉載請註明來源:

周陸軍的個人網站-360搜索引擎so自動收錄php改寫方案——適合phpcms等cms

zhoulujun.cn/zhoulujun/

推薦閱讀:

如何搜索到曾經在網上見過的圖片?
搜狗要在美國上市?請問有多少營收來自莆田系醫院的墮胎收入?
Windows 10 集成 Cortana 功能未來會對傳統搜索引擎有哪些影響?
請問卡飯網是怎麼欺騙搜索引擎的?

TAG:搜索引擎 | PHP | CMS |