Bir ziyaretçi bir düğmeye tıklar. PHP sunucunuz harici bir API'yi çağırır. API, sunucunun giden bağlantısını veya o bağlantı için yapılandırılmış proxy'nin çıkışını görür. Ziyaretçinin tarayıcısı, sitenize ayrı bir bağlantı yürütür.

Ziyaretçinin adresini bir başlığa kopyalamak, PHP bağlantısını ziyaretçinin ağına taşıyamaz. Başlıklar, hâlihazırda kurulmuş bir bağlantı üzerinden gönderilen verilerdir. Bir hedef, kendi uygulama mantığında güvenilir bir yönlendirme başlığı kullanabilir, ancak bu, başlık değerini bağlantının kaynak adresi yapmaz.

Proxy bağlantıyı kabul etmek zorundadır

PHP cURL'yi başka bir makine üzerinden göndermek için o makinenin, isteği taşımaya izinli, erişilebilir bir proxy hizmeti sunması gerekir. PHP süreci ona bağlanabilmelidir. Ziyaretçinin sıradan tarayıcı oturumu, sunucunuza böyle genel amaçlı bir proxy uç noktası vermez.

libcurl proxy seçeneği, cURL'nin bağlandığı hizmeti seçer. Rastgele bir tarayıcıdan isteği kendi adına başlatmasını isteyemez.

Tarayıcı isteği farklı bir tasarımdır

Bazı API'ler için tarayıcı hedefi doğrudan çağırabilir. Bu, isteği kullanıcının ağ yoluna yerleştirir ve kendi proxy yapılandırmalarına tabidir. Ayrıca tarayıcı istemcileri için tasarlanmış bir API gerektirir. Kaynaklar arası erişim CORS'a uyar ve tarayıcı koduna gönderilen kimlik bilgileri o istemci için kullanılabilir hale gelir.

Bir proxy seçeneği seçmeden önce isteğin nereye ait olduğuna karar verin. Sunucu kimlik bilgilerini sunucuda tutun; hizmet destekliyorsa belgelenmiş bir tarayıcı entegrasyonu kullanın. Hiçbir tasarım, bir sunucu isteğinin ziyaretçinin ağ kimliğini devralmasını sağlayan güvenilir bir kısayol sunmaz.

İlgili makaleler