cookie欺骗问题

北风渐渐 2008-12-08 10:06:36
现在访问一个网页
http://www.bet-at-home.com/oddTomorrow.aspx
这个网页是根据客户端cookie来相应变化的 默认是德语
设置cookie的页面是
http://www.bet-at-home.com/default.aspx?setlang=en(设置为英语)

能不能我直接访问 http://www.bet-at-home.com/oddTomorrow.aspx这个页面读取的就是英文页面

打印出http_response_header头部信息发现
cookie的设置是这样的
[8] => Set-Cookie: ASP.NET_SessionId=gisayq2bkcdl2555sh5xavrz; path=/ [9] => Set-Cookie: BAHLang=EN; expires=Thu, 31-Dec-2099 23:00:00 GMT;
那个起作用的也就是BAHLang=EN;
问题是怎么在php程序里面访问那个页面的时候直接等于en

知道的帮忙写一下 谢谢
...全文
191 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
baloyou 2008-12-11
...无语了 乱糟糟的


<?
$fp = fsockopen("www.bet-at-home.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out ="GET /oddTomorrow.aspx HTTP/1.1\r\n";
$out.="Host: www.bet-at-home.com\r\n";
$out.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n";
$out.="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.\r\n";
$out.="Cookie: ASP.NET_SessionId=di1n5fztzad43xar22kf0x45; BAHLang=EN; CustomEventGroupIDLang=8602682124EN2672313463Tomorrow";
//这里可以继续附加发送的header,cookie 也是其中一部分.
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);//这里返回了页面结果.
}
fclose($fp);
}
?>
回复
baloyou 2008-12-11
fsockopen 和 curl 都可以轻松达标.
给你个 fsockopen 的例子.
可惜你结贴了..........
 
<?
$fp = fsockopen( "www.bet-at-home.com ", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno) <br /> \n ";
} else {
$out = "GET /oddTomorrow.aspx HTTP/1.1\r\n ";
$out.= "Host: www.bet-at-home.com\r\n ";
$out.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n ";
$out.= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.\r\n ";
$out.= "Cookie: ASP.NET_SessionId=di1n5fztzad43xar22kf0x45; BAHLang=EN; CustomEventGroupIDLang=8602682124EN2672313463Tomorrow ";
//这里可以继续附加发送的header,cookie 也是其中一部分.
$out .= "Connection: Close\r\n\r\n ";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);//这里返回了页面结果.
}
fclose($fp);
}
?>
回复
baloyou 2008-12-11
fsockopen 和 curl 都可以轻松达标.
给你个 fsockopen 的例子.
可惜你结贴了..........

<?
$fp = fsockopen("www.bet-at-home.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out ="GET /oddTomorrow.aspx HTTP/1.1\r\n";
$out.="Host: www.bet-at-home.com\r\n";
$out.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n";
$out.="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.\r\n";
$out.="Cookie: ASP.NET_SessionId=di1n5fztzad43xar22kf0x45; BAHLang=EN; CustomEventGroupIDLang=8602682124EN2672313463Tomorrow";
//这里可以继续附加发送的header,cookie 也是其中一部分.
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);//这里返回了页面结果.
}
fclose($fp);
}
?>
回复
北风渐渐 2008-12-08
其实原理应该都欺骗服务器cookie来实现模拟登陆一样
可是我不会 不知道怎么写 哎
回复
北风渐渐 2008-12-08
没有明白我的意思哦
我现在在我自己的服务器(网站)上访问另外一个服务器
必须在访问之前在网站的服务器上写入cookie
否则的话 另外一个服务器的响应就为de了

如果在我本机的cookie 那样就没有什么意义了
直接访问他的设置cookie就可以了
回复
phpboy 2008-12-08
应该是在客户端写入,由服务器响应
回复
北风渐渐 2008-12-08
不是 那个网站是ASP.NET
我是用php程序来欺骗他那个网站
回复
Mlive 2008-12-08
而且还是asp.net
回复
phpboy 2008-12-08

服务器里直接写入cookie

我找的点资料,可以看看
http://blog.csdn.net/phpBoy005/archive/2008/11/30/3413194.aspx
回复
wzwen 2008-12-08
晕是.net吧
楼主发错版了
哈哈
回复
北风渐渐 2008-12-08
[Quote=引用 1 楼 phpBoy005 的回复:]
baidu里面的应该是改不了了

如果要是自己做的话

也就是加上一句

header("Set-Cookie: ASP.NET_SessionId=gisayq2bkcdl2555sh5xavrz; path=/ [9] => Set-Cookie: BAHLang=EN; expires=Thu, 31-Dec-2099 23:00:00 GMT;");
[/Quote]
当然是自己写程序了 不过这样加在header里面是在服务器写入cookie还是在客户端啊
回复
phpboy 2008-12-08
baidu里面的应该是改不了了

如果要是自己做的话

也就是加上一句

header("Set-Cookie: ASP.NET_SessionId=gisayq2bkcdl2555sh5xavrz; path=/ [9] => Set-Cookie: BAHLang=EN; expires=Thu, 31-Dec-2099 23:00:00 GMT;");
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-12-08 10:06
社区公告
暂无公告