PHPでProxy
■ このスレッドは過去ログ倉庫に格納されています
0001
02/01/16 00:56ID:/JfbhdTB>>2まで出来たけど、問題発見
・Getできない。
・リダイレクトされるページが開けない
どーしたらいんでしょうか?
0002名無しさん@お腹いっぱい。
02/01/16 01:04ID:???0003名無しさん@お腹いっぱい。
02/01/16 01:04ID:???0004名無しさん@お腹いっぱい。
02/01/16 01:28ID:???そこにPHPがあるからなんじゃないの?
0005
02/01/16 01:34ID:/JfbhdTBif(isset($u))
{
//---------------------初期設定------------------
$source_url="http://192.168.0.2/b.php?u=";
//---------------------URLをパース---------------
$url = parse_url($u);
$host = $url["host"];
$path = $url["path"];
if($path == "") $path = "/";
$query = $url["query"];
if($query != "") $path = "$path?$query";
//---------------------データ取得設定------------
$ch = curl_init($u);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "phpProxy");
curl_setopt($ch, CURLOPT_REFERER,"http://www.php.net/");
//---------------------POST送信に対応------------
if(strlen($post_data)!=0)
{
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
0006
02/01/16 01:34ID:/JfbhdTBif(strlen($cookies_data)!=0)
{
curl_setopt($ch, CURLOPT_COOKIE, $cookies_data);
}
//---------------------データ取得終了------------
$tmp = curl_exec ($ch);
curl_close ($ch);
//---------------------URL置換-------------------
$pat = array("/(<[^>]*\bhref\s*=\s*['\"]?)([^\s\"'>]*)/sie",
"/(<[^>]*\bsrc\s*=\s*['\"]?)([^\s\"'>]*)/sie",
"/(<[^>]*\bbackground\s*=\s*['\"]?)([^\s\"'>]*)/sie",
"/(<[^>]*\baction\s*=\s*['\"]?)([^\s\"'>]*)/sie");
$rep = array("StripSlashes('\\1').'$source_url'.fullurl('\\2')",
"StripSlashes('\\1').fullurl('\\2')",
"StripSlashes('\\1').fullurl('\\2')",
"StripSlashes('\\1').'$source_url'.fullurl('\\2')");
echo preg_replace($pat, $rep, $tmp);
}
else
{
0007
02/01/16 01:35ID:/JfbhdTB<head>
<title>xy</title>
</head>
<body>
<form action="<?php echo $PHP_SELF;?>" method="GET">
URL : <input type="text" size="60" name="u"><br>
<input type="submit" value=" Start ">
</form>
</body>
</html>
<?
}
function fullurl($uri)
{
global $host,$path;
$home = substr($path, 0, strrpos($path,"/"));
if(ereg("^http://",$uri)||ereg("^#",$uri)){
return $uri;
}elseif(ereg("^/.*",$uri)){
return "http://".$host.$uri;
}elseif(ereg("^(\./.*)$",$uri)){
return ereg_replace("^(\./)","http://".$host.$home."/",$uri);
}elseif(ereg("^(\.\./.*)$",$uri)){
$updir = substr($home, 0, strrpos($home,"/")+1);
return ereg_replace("^(\.\./)","http://".$host.$updir,$uri);
}else{
return "http://".$host.$home."/".$uri;
}
}
?>
0008
02/01/16 02:13ID:/JfbhdTBちなみに>>2-4は、どっか、きえてくれ〜
■ このスレッドは過去ログ倉庫に格納されています