Navigasi proksi web PHP: URL relatif, kuki dan asal
Rancang URL sumber, navigasi, kuki dan sempadan asal apabila menukar pengambilan dengan PHP menjadi proksi web untuk pelayar.
Sebelum menambah lebih banyak penulisan semula pada pengambil PHP, pilih ke mana sumber seterusnya harus pergi. Dokumen yang diambil daripada https://destination.example/catalog/ dan dikembalikan di https://viewer.example/browse?url=... mungkin mengandungi:
<img src="photo.jpg">
<a href="details/42">Details</a>Pelayar menyelesaikan rujukan itu menggunakan dokumen yang diterimanya dalam pemapar. Fakta bahawa PHP mengambil bait asal tidak menetapkan asas jauh.
Elemen base boleh menghalakan URL relatif ke destinasi, tetapi permintaan itu kemudian boleh pergi terus dari pelayar ke destinasi. Untuk mengekalkan setiap permintaan melalui PHP, URL proksi dan model penghalaan yang lebih luas diperlukan:
| Sumber atau tindakan | Pengendalian yang diperlukan |
|---|---|
| Pautan dan imej | Selesaikan terhadap dokumen jauh dan hasilkan laluan yang dimaksudkan |
| Import dan sumber CSS | Gunakan asas jauh helaian gaya |
| Borang | Kekalkan kaedah dan data yang dihantar |
| Ubahan hala | Kekalkan navigasi dalam model yang dibenarkan |
| Permintaan yang dicipta skrip | Kendalikan URL yang tiada dalam HTML asal |
Beberapa penggantian ungkapan nalar tidak boleh menjanjikan keserasian umum dengan laman berat skrip. Untuk dokumen awam yang diketahui, mungkin cukup menyahdayakan navigasi, membenarkan pautan terus atau menghalakan subset yang disokong melalui pemapar. Kekalkan jenis media sebenar dan bukan menganggap setiap respons sebagai HTML.
Mengembalikan penanda tidak dipercayai daripada domain anda turut memberikannya asal pelayar pemapar, bukan identiti laman yang diambil. Asingkan dokumen itu daripada halaman akaun dan pentadbir. Takrifkan kuki jauh bagi setiap pelawat, pengepala yang dibenarkan dihantar dan destinasi ubahan hala; balang kuki kongsi boleh mencampurkan log masuk jauh.
Ikutilah sempadan sokongan itu sebelum menawarkan sesi pelayaran. Untuk pelayaran biasa melalui jalan keluar lain, antara muka proksi asli pelayar, seperti tetapan HTTP/SOCKS Firefox, mengekalkan URL destinasi dan model asal pelayar tanpa memerlukan lapisan ambil-dan-terbit-semula ini. Untuk ujian laman awam berasingan, senarai proksi percuma menyediakan titik akhir calon; padankan protokol dalam tetapan pelayar.