2016-05-13 10 views
0

私のローカルホストにcaptchaが届きましたが、同じコードサーバーが動作しません。私はchmodで完全な権限を与えられた自分自身のサーバーをcookie.txtファイルで実行しようとしました。私は完璧なローカルホストを実行するとき。 Cookie.txtのために動作しないと思います。localhostで実行していますが、サーバでは動作しません。 (PHP cURL)

<?php 
    header("Content-type: image/jpeg"); 
function open($url, $cookie = "") 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2'); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_COOKIE, 1); 
      if($cookie != ""){ 
        curl_setopt($ch, CURLOPT_COOKIEJAR, realpath(dirname(__FILE__))."\cookie.txt"); 
      }else{ 
        curl_setopt($ch, CURLOPT_COOKIEFILE, realpath(dirname(__FILE__))."\cookie.txt"); 
      } 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_REFERER, "http://www.xxxxxx.com/caller/"); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result; 
} 
    open("http://www.xxxxxx.com/caller/", 1); 
    echo open("http://www.xxxxxx.com/security.php?id=".(floor(rand() * 1000) + 1), 0); 
?> 

お願いします。

+0

「どうしてうまくいかないのですか?」という意味ですか? – AbraCadaver

+0

つまり、サーバーでは機能しません。 –

+1

はい、しかし、どのように動作していない、それは火につかまり、煙を出す、大きな騒音をするか、またはRick Astleyのビデオが出ますか? – AbraCadaver

答えて

1

おそらくセキュリティ上の問題です。攻撃者がPHPファイルを変更してアプリケーションを引き継ぐ可能性があるとします。そのため、Apacheサーバは、ユーザwww-dataの下で動作しています。これは、読み取り専用以外のファイルにはアクセスできません。同じことがディレクトリにも当てはまります。

if($cookie != "") { 
       curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/some_better_name_cookie.txt"); 
} else { 
       curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/some_better_name_cookie.txt"); 
} 
+0

コードはありがとうございました。 –

関連する問題