私は現在このプラグインhttp://wordpress.org/extend/plugins/repress/を使用しています。これにより、基本的に私のWebサイトがプロキシになり、ユーザーはこのような検閲されたWebサイトにアクセスできるようになります。
www.mywebsite.com/proxy/www.cnn.com
プラグインは十分に機能しますが、絶対リンクに関しては、プラグインはそれを適切に解析せず、リンクは引き続きブロックされます。そのプラグインの開発は停止しました。だから私は自分のスクリプトを書く必要があります。私はどこでも検索し、見つけることができるチュートリアルを読んでいますが、これに関して特に役立つものはありません。
php curlを使用してWebサイトを取得し、空白のページにエコーする方法を知っています。私が知らないのは、ユーザーが入力できる上記の例のように動作するようにプロキシスクリプトを設定する方法です
www.mywebsite.com
に続く
/proxy.php
その後、彼らのターゲットウェブサイト
/www.cnn.com
現在、私はこれを設定しています:
<?php
$url = 'http://www.cnn.com';
$proxy_port = 80;
$proxy = '92.105.140.115';
$timeout = 0;
$referer = 'http://www.mydomain.com'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);*/
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $referer);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
?>
これによりホームページがプルされますが、cssまたは画像は取得されません。同様に、すべての相対リンクが壊れています。proxy_port変数とproxy変数を適用する方法がわかりません。私は試した
92.105.140.115:80/www.cnn.com
しかし、それは機能しません。サンプルサイトで見つけたので、このコードも完全には理解していません。
チュートリアルへの回答やリンクは大歓迎です。
ありがとう!