2016-05-13 6 views
0

Ich habe ein Captcha in meinem localhost erhalten, aber der gleiche Code-Server funktioniert nicht. Ich versuche, meinen eigenen Server mit chmod auszuführen, volle Autorität gab auch volle Autorität in der cookie.txt Datei. Wenn ich den perfekten localhost betreibe. Ich denke, es funktioniert nicht wegen cookie.txtWird auf localhost ausgeführt, funktioniert jedoch nicht auf dem Server. (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); 
?> 

Können Sie mir bitte helfen?

+0

Was zum Teufel funktioniert _ "nicht"? – AbraCadaver

+0

Ich meine, es funktioniert nicht auf dem Server. –

+1

Ja, aber funktioniert nicht wie, fängt es Feuer, raucht, macht laute Geräusche oder kommt ein Video von Rick Astley? – AbraCadaver

Antwort

1

Es ist wahrscheinlich ein Sicherheitsproblem. Stellen Sie sich vor, ein Angreifer könnte Ihre PHP-Dateien ändern und Ihre Anwendung übernehmen. Aus diesem Grund läuft der Apache-Server unter dem Benutzer www-data, der außer schreibgeschützt keinen Zugriff auf Ihre Dateien hat. Gleiches gilt für Verzeichnisse.

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

Danke Code funktioniert. –