PHP web proxy'sinde gezinme: göreli URL'ler, çerezler ve kökenler
PHP ile getirmeyi tarayıcıya dönük bir web proxy'sine dönüştürürken kaynak URL'lerini, gezinmeyi, çerezleri ve köken sınırlarını planlayın.
PHP getiricisine daha fazla yeniden yazma eklemeden önce, sıradaki kaynağın nereye gitmesi gerektiğini seçin. https://destination.example/catalog/ adresinden getirilip https://viewer.example/browse?url=... adresinde döndürülen bir belge şunları içerebilir:
<img src="photo.jpg">
<a href="details/42">Details</a>Tarayıcı bu başvuruları görüntüleyicide aldığı belgeyle çözer. PHP'nin özgün baytları getirmiş olması uzak tabanı kurmaz.
base öğesi göreli URL'leri hedefe yöneltebilir, ancak bu istekler sonra doğrudan tarayıcıdan hedefe gidebilir. Her isteği PHP üzerinden tutmak için bunun yerine proxy URL'leri ve daha geniş bir yönlendirme modeli gerekir:
| Kaynak veya eylem | Gerekli işlem |
|---|---|
| Bağlantılar ve görseller | Uzak belgeye göre çözün ve amaçlanan rotayı üretin |
| CSS içe aktarımları ve kaynakları | Stil sayfasının uzak tabanını kullanın |
| Formlar | Yöntemi ve gönderilen verileri koruyun |
| Yönlendirmeler | Gezinmeyi izin verilen modelin içinde tutun |
| Betiklerin oluşturduğu istekler | Özgün HTML'de olmayan URL'leri ele alın |
Birkaç düzenli ifade değişimi, betik yoğun sitelerle genel uyumluluk vaat edemez. Bilinen bir genel belge için gezinmeyi devre dışı bırakmak, doğrudan bağlantılara izin vermek veya desteklenen bir alt kümeyi görüntüleyici üzerinden yönlendirmek yeterli olabilir. Her yanıtı HTML saymak yerine gerçek ortam türlerini koruyun.
Alan adınızdan güvenilmeyen işaretleme döndürmek, ona getirilen sitenin kimliğini değil görüntüleyicinin tarayıcı kökenini verir. Bu belgeleri hesap ve yönetim sayfalarından yalıtın. Her ziyaretçi için uzak çerezleri, izin verilen iletilen başlıkları ve yönlendirme hedeflerini tanımlayın; paylaşılan bir çerez kavanozu uzak oturum açmaları karıştırabilir.
Bir tarama oturumu sunmadan önce bu destek sınırına bağlanın. Başka bir çıkıştan olağan gezinme için tarayıcının kendi proxy arayüzü, örneğin Firefox'un HTTP/SOCKS ayarları, bu getir-ve-yeniden-yayımla katmanını gerektirmeden tarayıcının hedef URL'sini ve köken modelini korur. Ayrı bir genel site testi için ücretsiz proxy listesi aday uç noktalar sağlar; tarayıcı ayarlarındaki protokolü eşleştirin.