1. php偽裝來路域名
1.通過設置HTTP REFERER來偽裝來路,但是可能會被識破
2.在B上做一個代理程序,也就是A請求B,B再去請求C,然後B再將結果返回給A,這是最穩當的做法
2. php用get表單傳值,接入他站api後返回新數值,有沒有辦法隱藏或者修改偽裝url不用post
按我理解的你的意思,是訪問你的博客的時候,參數里有個別的博客的網址,然後你的程序里通過這個網站把那個網站的內容抓 回來展示,如果是這樣,有兩種方式隱藏你說的url
把url參數加密或編碼,伺服器端取到後再解碼(如:用base64_encode和base64_decode),簡單的編碼可以面對普通用戶隱藏掉參數.
把你抓取的別的站的url在站內建一個資料庫保存,然後,參數里用編碼傳,伺服器根據編碼把url取出來再展示。不過這種也可以直接把url的內容抓回來保存了,不用每次去抓
基於程序實現的代碼邏輯研究上,這種方式可以嘗試。但是不推薦商用的優化網站,直接把別人的內容拿來並且不署名。一是對作者的勞動果實不尊重,二是這種做法需要承擔法律風險,如果傳播程度廣泛,原作者是可以通過法律途徑獲取賠償的
3. 如何用PHP判斷搜索引擎蜘蛛來路急!
一下是DZ代碼中的實現細節,你可以參考一下: 其實PHP有個很簡單的方式去實現,通過_SERVER這個預定義變數中的_SERVER['HTTP_USER_AGENT']可以取得訪問者的屬性,具體可以看下Diiscuz!是如何判斷搜索引擎的,函數代碼如下:
function getrobot() {
if(!defined('IS_ROBOT')) {
kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
if(preg_match("/(kw_browsers)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', FALSE);
} elseif(preg_match("/(kw_spiders)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', TRUE);
} else {
define('IS_ROBOT', FALSE);
}
}
return IS_ROBOT;
}
根據上面還可以精簡如下:
if(preg_match("/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", _SERVER['HTTP_USER_AGENT'])) {
echo 'robot';
}
如果你需要返回詳細的搜索引擎名稱,而不是是否是搜索引擎機器人的話,請看下面的代碼:
function get_naps_bot() {
useragent = strtolower(_SERVER['HTTP_USER_AGENT']);
if (strpos(useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos(useragent, 'msnbot') !== false){
return 'MSNbot';
}
if (strpos(useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos(useragent, 'spider') !== false){
return 'Baispider';
}
if (strpos(useragent, 'sohu-search') !== false){
return 'Sohubot';
}
if (strpos(useragent, 'lycos') !== false){
return 'Lycos';
}
if (strpos(useragent, 'robozilla') !== false){
return 'Robozilla';
}
return false;
}