VPN CORS کو بند نہیں کر سکتا، یہ جواب بدلتا ہے
نیا ایگزٹ پتہ دو اصلیں کو ایک جیسا نہیں کرتا۔ دونوں راستوں پر جواب کے ہیڈر محفوظ کریں اور CORS کے نفاذ کو قصوروار ٹھہرانے سے پہلے ان کا موازنہ کریں۔
ایک ہی وقت میں بدلی ہوئی دو چیزوں کو الگ کر کے شروع کریں: نیٹ ورک راستہ اور براؤزر کا نفاذ۔ VPN ایگزٹ پتہ بدلتا ہے؛ یہ صفحے کی اصلیت نہیں بدلتا، جو اسکیم، میزبان اور پورٹ سے بنتی ہے۔ اگر درخواست اب کامیاب ہوتی ہے تو جواب میں کچھ بدلا ہے، یا درخواست خود بدلی ہے۔ کون سی چیز ہے، یہ جاننا پوری تحقیق ہے۔
CORS ہیڈر پروٹوکول ہے جسے براؤزر نافذ کرتا ہے، اس لیے نیٹ ورک راستے پر کوئی چیز اسے بند نہیں کر سکتی۔
اصلیت کوئی IP پتہ نہیں ہے
اصلیت ایک اسکیم، ایک میزبان اور ایک پورٹ ہے۔ یہ وہ پتہ نہیں جہاں سے پیکٹ نکلتے ہیں، اور یہ وہ IP بھی نہیں جو سرور دیکھتا ہے۔ اسی لیے VPN ہر نظر آنے والا پتہ بدل سکتا ہے اور اصلیت ویسی ہی چھوڑ سکتا ہے۔ براؤزر جواب کے Access-Control-Allow-Origin کا صفحے کی اصلیت سے موازنہ کرتا ہے، اور ایگزٹ پتہ اُس موازنے میں کبھی داخل نہیں ہوتا۔
اس لیے CORS خرابی درست کرتا دکھنے والا ایکسٹینشن یا پراکسی کچھ اور کرتا ہے: ہیڈر دوبارہ لکھتا ہے، یا درخواست کو ایسے روٹ کرتا ہے کہ وہ اب کراس اوریجن نہ رہے۔ دونوں میں سے کوئی VPN کی خصوصیت نہیں۔
براؤزر دراصل کیا بھیجتا ہے
جو کراس اوریجن درخواست سادہ نہیں، اس کے لیے براؤزر پہلے ایک پیشگی جانچ OPTIONS بھیجتا ہے، جو مطلوبہ میتھڈ اور ہیڈر لے جاتا ہے۔ سرور کو اپنی اجازت شدہ اجازتوں کے ساتھ جواب دینا ہوتا ہے، اور اصل درخواست صرف اُس وقت آگے بڑھتی ہے جب وہ جواب قواعد پورے کرے۔ VPN دونوں تبادلوں کو لے جانے والا راستہ بدلتا ہے اور درمیانی سروسز کیا جواب دیتی ہیں، یہ بھی بدل سکتا ہے۔ یہ اصلیت کی سٹرنگ یا پیشگی جانچ کی شرط نہیں بدلتا۔
کمانڈ لائن کلائنٹ عام طور پر اِس میں سے کچھ نہیں دکھاتا۔ یہ Origin ہیڈر نہ بھی بھیجے، اکثر پیشگی جانچ چھوڑ دیتا ہے، اور مختلف اسناد لے جا سکتا ہے۔ curl کو واپس دی گئی باڈی ثابت کرتی ہے کہ سرور نے curl کو جواب دیا۔
وہ جواب تلاش کریں جو بدلا
صرف سٹیٹس کوڈ نہیں، ہر راستے کا اصل جواب موازنہ کریں۔ CORS اجازتیں لے جانے والے ہیڈر، مواد کی قسم، کوئی بھی ری ڈائریکٹ، اور یہ کہ WAF یا CDN ورژن نے الگ صفحہ بنایا یا نہیں—یہ دیکھیں۔ علاقائی انکار، تصدیق کی ری ڈائریکٹ یا اجازت والے ہیڈر کے بغیر ایرر صفحہ—سب براؤزر میں ناکام ہوتے ہیں جبکہ CORS بگ جیسے لگتے ہیں۔ یہ ڈیلیوری راستے کے فرق ہیں، اور انہی کو دستاویز کرنا ہے۔
دونوں راستوں کے جواب کے ہیڈر محفوظ کریں اور سطر بہ سطر موازنہ کریں۔ اگر واحد فرق ایک ایرر صفحے پر Access-Control-Allow-Origin کا نہ ہونا ہے تو آپ نے سبب ڈھونڈ لیا۔
نفاذ نہیں، سروس درست کریں
جب سروس آپ کی ہو، تو اجازت شدہ اصلیں اور درخواست کی خصوصیات واضح طور پر بتائیں، پھر اُس کے فرنٹ اینڈ اور درمیانیوں کی پیدا کردہ خرابیاں پڑھیں۔ اگر نہ کریں تو سروس کے مالک کو صاف شدہ موازنہ بھیجیں۔ اُس رپورٹ میں کبھی کوکیز، اجازت کے ہیڈر یا سیشن ایکسپورٹ شامل نہ کریں، کیونکہ پالیسی اُنہی اسناد کی حفاظت کے لیے ہے۔
CORS بند کرنے والے براؤزر ایکسٹینشن سے بچیں۔ وہ سیکیورٹی حد بدلتے ہیں اور ساتھ ہی وہ جوابی فرق چھپاتے ہیں جس کی وضاحت ضروری تھی، اور ہر دوسرے صارف کے لیے وہی ناکامی چھوڑ دیتے ہیں۔
دونوں جواب، استعمال شدہ اصلیت اور طے شدہ راستہ محفوظ کریں۔ وہ ریکارڈ VPN کی افواہ کو سروس کی خرابی میں بدل دیتا ہے۔