معماری اکوسیستم
کوکیها، توکن CSRF و رفتار نشست
چرا نشست روی دامنهٔ والد تنظیم میشود، محافظت CSRF چگونه کار میکند و خطای ۴۰۳ چه معنایی دارد.
۱. دامنهٔ کوکی
کوکی نشست روی .croplod.com تنظیم میشود تا ورود یکبار در auth.croplod.com در سایر سرویسها نیز معتبر باشد. این کوکی با ویژگیهای HttpOnly، Secure و SameSite=Lax صادر میشود.
۲. محافظت CSRF
هر فرم یک توکن یکتا دارد که با کوکی همان نشست اعتبارسنجی میشود. توکن پس از ورود و خروج بازتولید میشود؛ بنابراین فرمی که پیش از ورود باز شده باشد، با توکن کهنه ارسال میشود و رد میگردد.
- رفتار درست: اگر خطای توکن دیدید، صفحه را تازه کنید و دوباره ارسال کنید — فرم با توکن تازه باز میشود.
- رفرش بعد از ارسال: پاسخهای POST با کد
303هدایت میشوند تا رفرش صفحه، فرم را دوباره ارسال نکند.
۳. سیاست امنیتی محتوا (CSP)
هدر Content-Security-Policy دامنههایی را که فرم میتواند به آنها ارسال شود محدود میکند. این محدودیت روی ریدایرکت پس از ارسال فرم نیز اعمال میشود؛ به همین دلیل همهٔ دامنههای اکوسیستم در form-action فهرست شدهاند.
۴. خطاهای رایج
403 | توکن CSRF نامعتبر یا منقضی — صفحه را تازه کنید. |
429 | تعداد درخواست بیش از سقف — یک دقیقه صبر کنید. |
| حلقهٔ ورود | کوکیهای دامنه را پاک کنید و دوباره وارد شوید. |