Oturum açıldığında sadece görüntüleri kaydetme

0 Cevap php

Ben size siteye oturum yalnızca görülebilir görüntülerin içeri giriş gerektirir bir web sitesine giriş yaptığınızda indirmek için görüntü almak biraz sorun yaşıyorum, ancak doğrudan tarayıcıda görüntülemek için görünmüyor olabilir Eğer bir sekme / yeni pencerede içine kendi konumunu kopyalayın if (- bu yüzden içeren klasör htaccess-ed edildiğini sanırım bir hata sayfasına yönlendirir.).

Her neyse, ben aşağıda var kod beni giriş ve iyi çalışır HTML içeriği, kapmak sağlar - Ben yardım gereken yere ama ben görüntüleri kapmak değil ... bu!

<?
// curl.php

class Curl { 

    public $cookieJar = ""; 

    public function __construct($cookieJarFile = 'cookies.txt') { 
        $this->cookieJar = $cookieJarFile; 
    } 

    function setup() { 
        $header = array(); 
        $header[0]  = "Accept: text/xml,application/xml,application/xhtml+xml,"; 
        $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/gif;q=0.8,image/x-bitmap;q=0.8,image/jpeg;q=0.8,image/png,*/*;q=0.5"; 
        $header[]   = "Cache-Control: max-age=0"; 
        $header[]   = "Connection: keep-alive"; 
        $header[]   = "Keep-Alive: 300"; 
        $header[]   = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
        $header[]   = "Accept-Language: en-us,en;q=0.5"; 
        $header[]   = "Pragma: "; // browsers keep this blank. 

        curl_setopt($this->curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7'); 
        curl_setopt($this->curl, CURLOPT_HTTPHEADER, $header); 
        curl_setopt($this->curl, CURLOPT_COOKIEJAR, $this->cookieJar); 
        curl_setopt($this->curl, CURLOPT_COOKIEFILE, $this->cookieJar); 
        curl_setopt($this->curl, CURLOPT_AUTOREFERER, true); 
        curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true); 
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true); 
    } 

    function get($url) { 
        $this->curl = curl_init($url); 
        $this->setup(); 

        return $this->request(); 
    }

    function getAll($reg, $str) { 
        preg_match_all($reg, $str, $matches); 
        return $matches[1]; 
    } 

    function postForm($url, $fields, $referer = '') { 
        $this->curl = curl_init($url); 
        $this->setup(); 
        curl_setopt($this->curl, CURLOPT_URL, $url); 
        curl_setopt($this->curl, CURLOPT_POST, 1); 
        curl_setopt($this->curl, CURLOPT_REFERER, $referer); 
        curl_setopt($this->curl, CURLOPT_POSTFIELDS, $fields); 
        return $this->request(); 
    } 

    function getInfo($info) { 
        $info = ($info == 'lasturl') ? curl_getinfo($this->curl, CURLINFO_EFFECTIVE_URL) : curl_getinfo($this->curl, $info); 
        return $info; 
    } 

    function request() { 
        return curl_exec($this->curl); 
    } 
} 

?>

Ve aşağıda kullandığı sayfasıdır.

<?
// data.php

include('curl.php'); 
$curl = new Curl(); 

$url = "http://domain.com/login.php"; 
$newURL = "http://domain.com/go_here.php"; 

$username = "user";
$password = "pass";

$fields = "user=$username&pass=$password"; 

// Calling URL 
$referer = "http://domain.com/refering_page.php"; 

$html = $curl->postForm($url, $fields, $referer); 

$html = $curl->get($newURL);
echo $html;

?>

Ben $ newURL içine görüntü için doğrudan URL koyarak denedim ama bu görüntüyü elde değil - sadece bu klasör doğrudan görüntülemek için kullanılabilir olmadığı söyleyerek bir hata döndürür. Ben farklı şekillerde yukarıdaki değişen denedim, ama temelde hatası 405 ve / veya 406 (ama ben istemiyorum görüntü) diyerek aracılığıyla bir ekran almak başardı ama ben, bir görüntü almak başarılı olmamıştır.

Herhangi bir yardım büyük olurdu!

0 Cevap