منبع اصلی نوشتار زیر در این لینک قرار دارد

فایرفاکس و httponly

چند روز پیش فایرفاکس 2.0.0.5 ریلیز شد و بالاخره فایرفاکس2 کوکی های httponly رو به کار بست به این ترتیب کوکی های httponly از طریق محتویات وب قابل دسترسی نیست (البته این طور باید باشه) مثلاً از طریق جاوااسکریپت نمی تونید این کوکی های رو با document.cookie ببینید…
این کوکی ها در سمت سرور به این صورت ست می شن که وقتی در هدر HTTP کوکی رو ست می کنید باید در پایان تعیین کنید که این کوکی httponly است:

Set-Cookie: COOKIE=VALUE; httponly

با استفاده از این نوع کوکی ها جلوی بسیاری از حملات Cross-Site گرفته میشه(XSS) ولی با این حال باز هم امکان این نوع حملات وجود داره (CSRF)

و اما نکته ای اینجا وجود داره و اون اینکه با XMLHTTPRequest میشه در جاوااسکریپت به کوکی های httponly دست یافت! تنها در صورتی که در جواب درخواستی که از طریق XMLHTTPRequest به سرور ارسال میشه کوکی ست شده باشه در این صورت با چک کردن هدر میشه کوکی ست شده رو دید ولی در درخواست های بعدی این طور نیست (که معلومه چرا!) پس وقتی کوکی برای کاربر حقیقی ست شده باشه در این صورت امکان دیدن کوکی مثلاً برای جاوااسکریپت تزریق شده وجود نداره مگر اینکه کوکی به روز بشه (دوباره ست شه)

نتیجه اینکه استفاده از کوکی httponly بسیار مفید خواهد بود!! البته باید شرایط پیاده سازیش وجود داشته باشه که همون مرورگر مورد استفاده کاربر هست و اینکه درست پیاده سازی شه.



برچسب ها :