یک صفحه آزمایش PAC خانگی دو کادر با برچسب‌های Host و URL دارد. دکمه مقادیر آن‌ها را به همین ترتیب می‌فرستد. متأسفانه تابع PAC ترتیب برعکس را انتظار دارد.

FindProxyForURL(url, host)

برای یک مقصد نمونه، فراخوانی باید چنین باشد:

FindProxyForURL("https://status.office.example/", "status.office.example")

آرگومان دوم نام میزبان است، بدون طرح، مسیر یا درگاه. قاعده‌ای که host را با نامی شناخته‌شده مقایسه می‌کند، هنگامی که بستر آزمون URL کاملی را آنجا بدهد، مطابقت نخواهد کرد.

هر دو ورودی رشته‌اند، پس JavaScript لازم نیست خطایی بیندازد. اسکریپت می‌تواند بی‌صدا به return نهایی خود برسد و پروکسی‌ای باورپذیر نشان دهد. از همین رو، اشتباه گرفتن این باگ با یک قاعده دامنه بد بسیار آسان است.

پیش از قاعده، فراخوانی را بررسی کنید

فراخوانی تابع را در بستر آزمون بخوانید و دو مقدار را در همان مرز بررسی کنید. سپس یک استثنای میزبان دقیق و شناخته‌شده را با میزبانی نامرتبط که باید از مسیر پیش‌فرض استفاده کند مقایسه کنید. پیش از آنکه استثنا با ورودی بدشکل سازگار شود، آن را گسترده نکنید.

فراخوانی اصلاح‌شده هنوز محیط کمکی ارزیاب را باقی می‌گذارد. یک myIpAddress() ثابت یا کمکی DNS غایب، وضعیت واقعی شبکه مرورگر نیست. این‌ها را پرسش‌های جداگانه نگه دارید. ترمیم فوری همان قرارداد پارامترها است؛ ترمیم بعدی، اگر لازم شد، نمایاندن مصرف‌کننده موردنظر در محیط آزمون است.

مقالات مرتبط