ניווט בפרוקסי אינטרנט ב‑PHP: כתובות יחסיות, קובצי Cookie ומקורות
תכננו כתובות של משאבים, ניווט, קובצי Cookie וגבולות מקור כשאתם הופכים שליפה ב‑PHP לפרוקסי אינטרנט עבור הדפדפן.
לפני שמוסיפים עוד שכתוב לשולף ב‑PHP, בחרו לאן המשאב הבא צריך ללכת. מסמך שנשלף מ‑https://destination.example/catalog/ ומוחזר ב‑https://viewer.example/browse?url=... עשוי להכיל:
<img src="photo.jpg">
<a href="details/42">Details</a>הדפדפן פותר את ההפניות האלה באמצעות המסמך שקיבל בצופה. העובדה ש‑PHP שלף את הבתים המקוריים אינה קובעת את הבסיס המרוחק.
רכיב base יכול להפנות כתובות יחסיות אל היעד, אך הבקשות האלה עשויות אז לעבור ישירות מהדפדפן אל היעד. כדי להעביר כל בקשה דרך PHP נדרשים במקום זאת כתובות פרוקסי ומודל ניתוב רחב יותר:
| משאב או פעולה | הטיפול הנדרש |
|---|---|
| קישורים ותמונות | פתרו אותם ביחס למסמך המרוחק והפיקו את המסלול המיועד |
| ייבואי CSS ומשאבים | השתמשו בבסיס המרוחק של גיליון הסגנון |
| טפסים | שמרו על השיטה ועל הנתונים שנשלחו |
| הפניות מחדש | השאירו את הניווט בתוך המודל המותר |
| בקשות שנוצרות בסקריפט | טפלו בכתובות שאינן ב‑HTML המקורי |
כמה החלפות בביטויים רגולריים אינן יכולות להבטיח תאימות כללית לאתרים עתירי סקריפטים. עבור מסמך ציבורי מוכר אולי די בכיבוי ניווט, בהתרת קישורים ישירים או בהפניית תת‑קבוצה נתמכת דרך הצופה. שמרו על סוגי המדיה האמיתיים במקום להתייחס לכל תגובה כ‑HTML.
החזרת סימון לא מהימן מהתחום שלכם מעניקה לו גם את מקור הדפדפן של הצופה, ולא את זהות האתר שנשלף. בודדו את המסמכים האלה מדפי חשבון וניהול. הגדירו קובצי Cookie מרוחקים לכל מבקר, כותרות מותרות להעברה ויעדי הפניה מחדש; צנצנת Cookie משותפת עלולה לערבב התחברויות מרוחקות.
התחייבו לגבול התמיכה הזה לפני שאתם מציעים הפעלת גלישה. לגלישה רגילה דרך יציאה אחרת, ממשק הפרוקסי המובנה של הדפדפן, כמו הגדרות HTTP/SOCKS של Firefox, משמר את כתובת היעד ואת מודל המקור של הדפדפן בלי לדרוש את שכבת השליפה והפרסום מחדש הזו. לבדיקה נפרדת של אתר ציבורי, רשימת הפרוקסי החינמיים מספקת נקודות קצה מועמדות; התאימו את הפרוטוקול בהגדרות הדפדפן.