האם JavaScript יכול לשנות את הפרוקסי של הדפדפן שלכם?
הבחינו בין קוד רגיל של דף אינטרנט לבין הרחבת דפדפן מורשית שיכולה להגדיר פרוקסי.
לסקריפט שרץ בדף אינטרנט אין הגדרה כללית שמשנה את הפרוקסי היוצא של הדפדפן. להרחבת דפדפן יכולות להיות הרשאות נוספות, אך היא פועלת במודל אבטחה ותצורה אחר.
ההבחנה הזו הולכת לאיבוד בתשובות פורום ישנות. קוד שמשתמש בפנימיות מיוחדות של Firefox, במודולי הרחבה ישנים או בערכות add-on SDK נטושות מעולם לא היה API רגיל של דף אינטרנט. הדבקת קטע כזה בדף אינה מעניקה את ההרשאות האלה.
השתמשו ב-API ההרחבות של הדפדפן
הרחבת Firefox יכולה להשתמש ב-API proxy.settings המתועד עם ההרשאות הנדרשות. Chrome מציע API הרחבות משלו לפרוקסי. מודלי התצורה שלהם שונים; בדקו את דרישות המניפסט ואת ההגדרות הנתמכות בדפדפן שאליו אתם מכוונים.
הרחבה צריכה גם להתחשב במדיניות או בהרחבות אחרות ששולטות באותה הגדרה. קריאת API מוצלחת אינה סיבה להניח שכל יעד עוקב כעת אחר המסלול שהתכוונתם לו. בדקו את התצורה שנוצרה ושמרו על היכולת של המשתמש לשחזר אותה.
שינוי כתובת ה-fetch משנה את היעד
דף אינטרנט יכול לקרוא לשרת אפליקציה שמעביר בקשה בשמו, בכפוף לכללי הרשת של הדפדפן. בתכנון כזה הדפדפן מתחבר לאותו שרת אפליקציה. הוא לא התקין פרוקסי כללי ולא שינה את המסלול שבו משתמשים כרטיסיות לא קשורות.
באופן דומה, שליחת כותרת עם כתובת IP אחרת אינה משנה את כתובת המקור של החיבור. יעד עשוי לפרש מטא-נתוני העברה מהימנים לפי המדיניות שלו, אך נתיב הרשת הוא עובדה נפרדת.
אם המטרה שלכם היא פרוקסי שמחליף IP לגלישה, בחרו רשומה מתאימה מרשימת הפרוקסי החינמיים והגדירו פרוקסי דפדפן נתמך או הרחבה מורשית. אם המטרה היא שליפה מרוחקת של אפליקציית אינטרנט אחת, תכננו את התכונה הזו סביב גבולות השרת והדפדפן האמיתיים שלה.