0

重複の可能性:
PHP の file_get_contents( ) を防ぐ方法

私のコンテンツが他のサイトから盗まれないように、他のサイトからの file_get_contents を防止したいと考えています。このようなトピックを見つけましたが、あまり明確ではないようです。 PHP の file_get_contents( ) を防ぐ方法

何か役に立ちますか?例http://ddth.com。できなかったfile_get_contents("http://ddth.com");

4

1 に答える 1

1

HTTP 認証を使用して保護できます

$login = 'root';
$pass = '12345';

if(($_SERVER['PHP_AUTH_PW']!= $pass || $_SERVER['PHP_AUTH_USER'] != $login)|| !$_SERVER['PHP_AUTH_USER'])
{
 header('WWW-Authenticate: Basic realm="Test auth"');
 header('HTTP/1.0 401 Unauthorized');
 echo 'Auth failed';
 exit;
}

else
{
 echo "ok";
 }

curl を使用して読み取ることができます

    $username = 'user';
    $password = 'password';
    $ip = $_SERVER["SERVER_ADDR"];      
    $browser_id = "Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3";
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($curl, CURLOPT_USERAGENT, $browser_id);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($curl, CURLOPT_TIMEOUT, 15);
    curl_setopt($curl, CURLOPT_REFERER, $ip);       
    $retValue = curl_exec($curl);
    $err = curl_error($curl);
    curl_close($curl);

情報を抽出するには、ここにコードがあります

于 2012-10-05T15:29:42.993 に答える