PHP ওয়েব প্রক্সি নেভিগেশন: আপেক্ষিক URL, কুকি ও অরিজিন
PHP ফেচিংকে ব্রাউজারমুখী ওয়েব প্রক্সিতে রূপান্তর করার সময় রিসোর্স URL, নেভিগেশন, কুকি ও অরিজিনের সীমা পরিকল্পনা করুন।
PHP ফেচারে আরও রিরাইটিং যোগ করার আগে, পরবর্তী রিসোর্সটি কোথায় যাবে তা বেছে নিন। https://destination.example/catalog/ থেকে ফেচ করা এবং https://viewer.example/browse?url=...-এ ফেরত দেওয়া একটি ডকুমেন্টে থাকতে পারে:
<img src="photo.jpg">
<a href="details/42">Details</a>ব্রাউজার সেই রেফারেন্সগুলো ভিউয়ারে পাওয়া ডকুমেন্ট দিয়ে সমাধান করে। PHP মূল বাইটগুলো ফেচ করেছে, এতে দূরবর্তী বেস প্রতিষ্ঠিত হয় না।
একটি base এলিমেন্ট আপেক্ষিক URL-গুলোকে গন্তব্যের দিকে নির্দেশ করতে পারে, কিন্তু সেই অনুরোধগুলো তখন ব্রাউজার থেকে সরাসরি গন্তব্যে যেতে পারে। এর বদলে প্রতিটি অনুরোধ PHP-এর মধ্য দিয়ে রাখতে প্রক্সি URL ও বিস্তৃত রাউটিং মডেল দরকার:
| রিসোর্স বা কাজ | প্রয়োজনীয় ব্যবস্থাপনা |
|---|---|
| লিংক ও ছবি | দূরবর্তী ডকুমেন্টের সাপেক্ষে সমাধান করুন এবং অভীষ্ট রুট তৈরি করুন |
| CSS ইমপোর্ট ও রিসোর্স | স্টাইলশিটের দূরবর্তী বেস ব্যবহার করুন |
| ফর্ম | মেথড ও জমা দেওয়া ডেটা সংরক্ষণ করুন |
| রিডাইরেক্ট | নেভিগেশন অনুমোদিত মডেলের ভেতরে রাখুন |
| স্ক্রিপ্ট-তৈরি অনুরোধ | মূল HTML-এ অনুপস্থিত URL সামলান |
কয়েকটি রেগুলার এক্সপ্রেশন প্রতিস্থাপন স্ক্রিপ্ট-বহুল সাইটের সঙ্গে সাধারণ সামঞ্জস্যের নিশ্চয়তা দিতে পারে না। একটি পরিচিত পাবলিক ডকুমেন্টের জন্য নেভিগেশন নিষ্ক্রিয় করা, সরাসরি লিংক অনুমোদন করা বা সমর্থিত উপসেট ভিউয়ারের মধ্য দিয়ে পাঠানো যথেষ্ট হতে পারে। প্রতিটি রেসপন্সকে HTML হিসেবে ধরে নেওয়ার বদলে প্রকৃত মিডিয়া টাইপ সংরক্ষণ করুন।
আপনার ডোমেইন থেকে অবিশ্বস্ত মার্কআপ ফেরত দিলে তা ভিউয়ারের ব্রাউজার অরিজিন পায়, ফেচ করা সাইটের পরিচয় নয়। সেই ডকুমেন্টগুলো অ্যাকাউন্ট ও অ্যাডমিন পেজ থেকে আলাদা রাখুন। প্রতিটি দর্শনার্থীর জন্য দূরবর্তী কুকি, অনুমোদিত ফরওয়ার্ড হেডার ও রিডাইরেক্ট গন্তব্য নির্ধারণ করুন; একটি শেয়ার করা কুকি জার দূরবর্তী লগইন মিশিয়ে দিতে পারে।
ব্রাউজিং সেশন দেওয়ার আগে সেই সমর্থন সীমার প্রতি অঙ্গীকারবদ্ধ হন। অন্য এক্সিট দিয়ে সাধারণ ব্রাউজিংয়ের জন্য ব্রাউজারের নিজস্ব প্রক্সি ইন্টারফেস, যেমন Firefox-এর HTTP/SOCKS সেটিংস, এই ফেচ-অ্যান্ড-রিপাবলিশ স্তর ছাড়াই ব্রাউজারের গন্তব্য URL ও অরিজিন মডেল সংরক্ষণ করে। আলাদা পাবলিক-সাইট পরীক্ষার জন্য বিনামূল্যের প্রক্সি তালিকা প্রার্থী এন্ডপয়েন্ট দেয়; ব্রাউজার সেটিংসে প্রোটোকল মিলিয়ে নিন।