Seorang pengunjung menekan tombol. Server PHP Anda memanggil API eksternal. API melihat koneksi keluar server, atau keluaran proxy yang dikonfigurasi untuk koneksi itu. Browser pengunjung menangani koneksi terpisah ke situs Anda.

Menyalin alamat pengunjung ke dalam header tidak dapat memindahkan koneksi PHP ke jaringan pengunjung. Header adalah data yang dikirim melalui koneksi yang sudah terbentuk. Tujuan dapat memakai header penerusan tepercaya dalam logika aplikasinya sendiri, tetapi itu tidak mengubah nilai header menjadi alamat sumber koneksi.

Proxy harus menerima koneksi

Untuk mengirim PHP cURL melalui mesin lain, mesin itu harus menawarkan layanan proxy yang dapat dijangkau dengan izin membawa permintaan. Proses PHP harus dapat terhubung ke sana. Sesi browser biasa pengunjung tidak memberi server Anda endpoint proxy serba guna seperti itu.

Opsi proxy libcurl memilih layanan yang dihubungi cURL. Opsi itu tidak dapat meminta browser sembarang untuk memulai permintaan atas namanya.

Permintaan dari browser adalah rancangan lain

Untuk beberapa API, browser dapat memanggil tujuan secara langsung. Itu menempatkan permintaan pada jalur jaringan pengguna, tunduk pada konfigurasi proxy mereka sendiri. Itu juga memerlukan API yang dirancang untuk klien browser. Akses lintas asal mengikuti CORS, dan kredensial yang dikirim ke kode browser menjadi tersedia bagi klien tersebut.

Tentukan di mana permintaan itu berada sebelum memilih opsi proxy. Simpan kredensial server di server; gunakan integrasi browser yang terdokumentasi saat layanan mendukungnya. Tidak ada dari kedua rancangan itu yang menawarkan jalan pintas andal agar permintaan server mewarisi identitas jaringan pengunjung.

Artikel terkait