• 1401/08/23

خطای blocked by CORS هنگام تست :

دورد بیکران

 

API ساخته شده رو روی یک هاست آپلود کردم

 

با  PostMan،swagger به خوبی کار میکنه و هیچ مشکلی نیست طبق آموزش خوب شما

 

ولی به صولت دستی وقتی مثلا با Fetch , axios و یا XMLHttpRequest درخواستی میدم با خطای زیر مواجه میشم.

has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

سرچ هایی که کردم گفتته میشد باید دسترسی هایی از سمت سرور داده بشه .

ممنون میشم راهنماییم کنید سپاس فراوان

  • 1401/08/24
  • ساعت 16:26

سلام دوست من وقتتون بخیر

درخواست axios شما از لوکال ارسال میکنید یا از طریق سرور دیگه ای؟


  • 1401/08/24
  • ساعت 20:49

سلام دوست عزیز

از لوکال ارسال میشه ولی بازم دسترسی رو دادم... 

ممنون میشم در همه حالات موجودی که باعث ایجاد این خطا میشه  بنده رو راهنمایی کنید

سپاس.


  • 1401/08/25
  • ساعت 15:05

سلام این قطعه کد رو به ConfigureServices داخل STARTUP اضافه کن:

services.AddCors(p => p.AddPolicy("corspolicy", build =>
            {
                build.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
            }));

و این دستور رو به Configure دا خل startup اضافه کن (بعد از app.UseRouting و قبل از app.UseAuthentication)

app.UseCors("corspolicy");

 


  • 1401/09/14
  • ساعت 22:45

با سلام دوست عزیز

با اجازه از اساتید و منتور های عزیز

باید خدمتتون عرض کنم این cross orgin عزیز برای امنیت در مرورگر و وب هست که سمت مرورگر چک میشه.

اینکه یکسری از عزیزان بدون اطلاع میاد همه درخواست ها رو تراست میکنند صحیح نیست و اصولا نباید اینجوری باشه مخصوصا اگه صفحه لاگین باشه صفحه امنیتی باشه نباید از آدرس های دیگر بشه بهش دسترسی داد برای همین باید حتما بجای AllowAnyOrigin آدرس های مجازی که میتونند دسترسی پیدا کنند رو بدید و نوع حرفه ایش اینه که شما این مورد رو یا داخل appsettings یا داخل دیتابیس قرار بدید که بعد از پابلیش بشه این موارد رو مشتریتون یا تیم توسعه به راحتی و بدون پابلیش مجدد تغییر داد.

موفق باشید


logo-enamadlogo-samandehi