مکانیزم cors

منتشر شده در دسته : بلاگ, تست نفوذ وب

مکانیزم cors چیست؟ در مطالب قبلی به شرح پالیسی sop پرداخته و گفتیم که آژاکس با این پالیسی مشکل دارد. راه پیش رو مکانیزم sop می باشد. مکانیزم cors مخفف Cross Origin Resource Sharing به معنای اشتراک منابع بین دو مبدا متفاوت می باشد. به این معنا که سایتی که مبدا A در حال اجرا است می تواند داده ها را از/به سرور مبدا B دریافت/ارسال کند. مکانیزم Cors به صورت فراوان در اپلیکیشن های وب به منظور بارگذاری اسناد, وب فونت ها و فایل های CSS از مبدا گوناگون استفاده می شود.

بیشتر شبکه های تحویل محتوا (CDNs) که عملکرد میزبان منابع را ارایه می کنند معمولا به همه سایت ها یا مبداهای مختلف اجازه تعامل با خود را می دهند.

مکانیزم cors

مکانیزم CORS از طریق اضافه کردن هدر جدید HTTP کار کرده که وب سرور را قادر ساخته تا با یکسری دامین موجود در لیست سفید و دارای مجوز اتصال برقرار کرده  با سرور تعامل کنند.

این موضوع درون تمام مرورگرها نیز وجود دارد و مرورگر شروع به خواندن هدر و فرایندهای موجود کرده و از این طریق اجازه اجرای درخواست را می دهد. این درحالی است که در آژاکس چنین اجازه ای توسط پالیسی sop داده نشده بود.

هدرهای CORS

برخی از هدرهای رایج مورد استفاده مکانیزم CORS به شرح زیر می باشند :

هدر Access Control Allow Origin

این یک هدر پاسخ می باشد. به محض اینکه درخواستی به سرور برای تبادل داده ارسال گردد, سرور با یک هدر اختصاصی به آن پاسخ می دهد. زمانیکه سایت مبدا A سعی در دریافت محتوا از سایت مبدا B دارد, سایت B می تواند یک هدر پاسخ از نوع Access Control Allow Origin ارسال کرده و از این طریق به مرورگر بگوید که محتویات این صفحه به برخی مبدا ها (در اینجا مبدا A) قابل دسترسی می باشد. همانطور که می دانیم به صورت پیش فرض محتویات سایت B به دیگر سایت ها قابل دسترسی نمی باشد ولی با استفاده از هدر Access Control Allow Origin دریچه ای برای عبور از محدودیت های قبلی ایجاد می شود.

هدر Access Control Allow Methods

این یک هدر پاسخ دیگر است. سرور با استفاده از این هدر به مرورگر دستور می دهد تا متدهای HTTP مجاز را بررسی کند. در صورتیکه سرور تنها اجازه متد GET را داده باشد و درخواست POST ایجاد شود, درخواست POST توسط مرورگر حذف می شود.

هدر Origin

این یک هدر درخواست می باشد که به سرور می گوید از کدام دامین مبدا درخواست ایجاد شده است. هدر مبدا یا همان هدر origin همیشه در کنار درخواست های بین دامینی ارسال می شود.

تعداد پیام ها 2

  1. سلام. تو بخش هدر Access Control Allow Origin
    این بخش رو متوجه نشدم: «آیا مبدا درخواست درون مقدار پاسخ وجود دارد یا خیر»
    حالت ترجمه داره و برای من نا مفهومه. کلا همون بخش قابل فهم نوششته نشده. به نظر من این شکلی بنویسید هم خودتون راحت ترید هم بقیه:
    این header تو هدر response سرور به کلاینت هست. به محض اینکه request ایی به سرور برای تبادل داده ایجاد شود, سرور با استفاده از این هدر پاسخ داده که تا به مرورگر اطلاع دهد که آیا «مبدا درخواست»(این یعنی چی؟) درون «مقدار پاسخ»(یعنی چی؟) وجود دارد یا خیر. در صورتیکه «هدر»(کدوم هدر؟) موجود نباشد, یا هدر response «حاوی مبدا درخواست نباشد»(؟), درخواست از نظر امنیتی مشکل دارد و توسط مرورگر حذف می شود.

    نکته: من مبتدی هستم، شاید مشکل از طرف من باشه

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *