Làm thế nào để hiển thị được hình ảnh đã bị chặn bằng Hotlinking

Discussion in 'Thảo Luận Chung' started by mylovehg, Apr 26, 2020.

  1. mylovehg

    mylovehg Tân Thủ Thôn

    em có 1 website đang lấy hình ảnh từ website khác về nhưng mấy hôm nay vào xem thì vô bài viết lại không thấy hình ảnh hiển ra, nếu vào trang mà mình đã get về xem bài viết gốc đó rồi thì quay lại website thì mới hiện ra. Ai có cách khắc phục vấn đề này cho wordpress thì chỉ em với
     
  2. hoangvn92.it

    hoangvn92.it Sơ Nhập Giang Hồ

    bằng curl thêm mục CURLOPT_REFERER vao la dc
     
  3. thitgaluoc

    thitgaluoc Hương Chủ

    chèn i0.wp.com vào
     
  4. mylovehg

    mylovehg Tân Thủ Thôn

    ý em là hình ảnh của website khác em lấy nó về website của em, nhưng bị chặn nên ko hiển thị ra web, làm sao để có thể hiển thị nó ra được
     
  5. thanh858036

    thanh858036 Sơ Nhập Giang Hồ

    curl thôi
     
  6. tearofboy

    tearofboy Tân Thủ Thôn

    chèn i0.wp.com là cách đỡ tốn tài nguyên nhất đó bạn, nó hoạt động như 1 server vừa curl vừa cache
     
  7. Dang

    Dang Bang Chúng

    i0.wp.com => mình test trên Apache, nếu dùng :
    Code:
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com/.*$ [NC]
    RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
    Thì không bypass được.
     
    tearofboy likes this.
  8. thitgaluoc

    thitgaluoc Hương Chủ

    cái này là rule để check referrer đúng domain thì mới cho qua thôi mà, cùng lắm em làm con proxy cho image thì cũng qua đc thôi, nhưng thế tốn công quá
     
  9. thanh858036

    thanh858036 Sơ Nhập Giang Hồ

    bác hướng dẫn làm proxy image với
     
  10. hoangvn92.it

    hoangvn92.it Sơ Nhập Giang Hồ

    Code:
    function curl($url , $reffer){
            $ch = @curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_TIMEOUT, 10);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
            curl_setopt($ch, CURLOPT_COOKIEJAR, '');
            curl_setopt($ch, CURLOPT_COOKIEFILE, '');
            curl_setopt($ch, CURLOPT_REFERER, $reffer);
            $result = curl_exec($ch);
            curl_close($ch);
            return $result;
        }
    echo $this->curl("webacb.com/a.jpg","webacb.com");
    
    đây cho bác nào cần code
     
    Hoa Mãn Lâu likes this.