من برای یادگیری / سرگرمی یک برنامه وب (ریل api + واکنش SPA) ایجاد کرده ام و در حال تحقیق در مورد احراز هویت بوده ام. متداول ترین توصیه شده برای تأیید اعتبار SPA هایی که خوانده ام ، قرار دادن نشانه auth (مانند JWT) در یک کوکی امن HTTP است فقط برای محافظت از XSS. به نظر می رسد این عواقب عواقب زیادی دارد:

اما نکته منفی است که فقط می توانید کد auth را در ذخیره مرورگر ذخیره کنید (یعنی ذخیره جلسه)؟ XSS برای مهاجم کمی راحت تر می شود؟ حتی با یک کوکی فقط HTTP ، مهاجم می تواند با درخواست مستقیم از سایت ، از نشانه auth استفاده کند ، زیرا اگر یک آسیب پذیری XSS وجود داشته باشد ، دیگر نیازی به قادر به خواندن نشانه استفاده از آن نیست.

به نظر می رسد که توصیه های رایج فقط کار را برای محافظت در برابر CSRF پیچیده تر می کند ، فقط برای اینکه مواردی را برای حمله کننده در مورد XSS کمی دشوارتر کند. با توجه به منابع موجود در این توصیه ها ، احساس می کنم چیزی را گم نمی کنم و از هر گونه بازخورد یا توضیح می گیرم قدردانی می کنم!