Какво всъщност прави HttpOnly при бисквитките?

В уеб сигурността детайлите често решават всичко. Един привидно малък флаг като HttpOnly може да бъде границата между обикновена страница и компрометиран акаунт.

Защо този флаг има значение?

Когато дадена бисквитка е маркирана като HttpOnly, браузърът забранява достъпа до нея чрез JavaScript. Тя продължава да се изпраща със заявките към сървъра, но клиентските скриптове не могат да я прочетат или модифицират.

Това предпазва от XSS атаки, при които злонамерен скрипт се инжектира в страницата и опитва да открадне сесийни или „remember me“ бисквитки. А, ако атакуващият получи такава бисквитка, той ефективно поема контрол над сесията на жертвата.

С други думи — ако чужд скрипт се промъкне във вашия фронтенд, HttpOnly може да е последната ви защита срещу пълно компрометиране на потребителски акаунти.

Добрата новина?

Много съвременни фреймуърци и CMS-и по подразбиране включват HttpOnly за сесийните бисквитки. Това е една от причините да избираме платформи с добри security defaults — защото някои неща трябва просто да работят сигурно от първия ден, дори и да не знаем за съществуването им.

Разбира се, има изключения. Например при CSRF токените, които трябва да бъдат достъпни за JavaScript, HttpOnly не се използва умишлено. Но за сесии и автентикационни бисквитки – няма причина да го изключвате.

Какво да запомним?

Как да изберете „сигурен по подразбиране“ фреймуърк?

Не всичко трябва да се изгражда ръчно. Добре подбраният фреймуърк може да осигури силен старт още от първата заявка.

Търсете „secure by default“

Laravel и WordPress го правят — ако знаете къде да пипнете.

Проверете документацията

Търсете секции като Security, Best Practices, Hardening Guide. Ако липсват — проблем.

Разгледайте настройките

Питайте и ще ви се отговори

Потърсете “security issues in [framework]” — ще разберете много повече, отколкото от маркетинг страница.

HttpOnly не е сложна настройка. Но тя може да спре сложна атака. Проверете дали я използвате.

Exit mobile version