file_get_contents - Ayrıca fotoğraf olsun

3 Cevap php

Merhaba millet! PHP ve file_get_contents kodlama zaman ben son zamanlarda bir sorun haline çalıştırmak. Benim sorun olduğunu ben böyle bir web sitesi yüklediğinizde:

<? echo file_get_contents($_GET['url']); ?>

I yük sitesinin resimleri göstermek değildir. Google'a gittiğinizde, örneğin resim yok gösterilir. Bu i ziyaret her web sitesi için. I bu nasıl düzeltebilirim?

3 Cevap

Görüntülediğiniz HTML sayfası aynı zamanda orijinal sayfanın sunucuda (örneğin Google.com) olarak değil, hangi görüntülerin mevcut olduğunu varsayar.

HTML sayfası yükleri her şeyi emin olmak için hızlı yolu eklemek için <base href="http://www.google.com/" />. Bu görüntüler, CSS, komut vb dahil içeriğinin kalanı için orijinal yola geri dönmek için tarayıcı söyler

Sen <head></head> Eğer görüntülediğiniz HTML sayfasının arasındaki enjekte etmek isteyeceksiniz. Bir düzenli ifade veya Basit HTML DOM kullanabilirsiniz.

Umut olur

Bunu yapmayın. Diğer web siteleri 'içeriği çalıyorsun. Ayrıca tüm göreli URL'ler kırık olduğundan, fark ettik, iyi çalışmaz.

Bunun yerine bir iframe kullanabilir miyim? Gibi:

<iframe src="<?php echo htmlspecialchars($_GET['url']) ?>"></iframe>

Eğer son kullanıcı proxy konum web sitesine gizleme değiliz çünkü bu güzel.

Ben görüntü adresler <img src="/img/foo.png"> yerine sunucu üzerinde görüntü arar anlam ve googles demek göreceli, çünkü bu olduğunu düşünüyorum. Bu sabitleme kaynağındaki tüm adresler üzerinden bakarak ve mutlak göreli onları değiştirmeyi gerektirir.