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;
}