💻HTTP Only Flag
HTTP Only Flag nədir?
Veb saytların təhlükəsizliyini artırmaq üçün istifadə edilən bir təhlükəsizlik tədbiridir. Bu özəllik çərəzlərin (cookies) yalnız veb brauzer tərəfindən serverə göndərilməsini təmin edir və JavaScript kimi brauzerdə işə düşən kodların bu çərəzlərə müraciət etməsini əngəlləyir. Bu da, pisniyyətli hakerlərin çərəzlərinizi ələ keçirməsini və vacib məlumatlarınızı oğurlamasının qarşısını alır.
Nümunə
Fərz edək ki, bir veb saytda hesabınıza giriş etmisiniz və sayt sizin kim olduğunuzu xatırlamaq üçün bir çəzər (cookie) yaradıb. Bu çərəzdə sizin giriş məlumatlarınız saxlanılır.
Normalda JavaScript ilə çərəzləri oxumaq mümkündür:
console.log(document.cookie); // Bu kod, çərəzləri ekrana çıxarır.
Ancaq HTTP Only Flag istifadə edilsə, çərəz belə yaradılacaq:
Set-Cookie: sessionId=abc123; HttpOnly
Bu halda, yuxarıdakı JavaScript kodu, çərəzləri ekrana çıxarmır.
İcmal
Müraciət: Çərəzlərin yalnız veb brauzer və server ararında istifadə edilməsini təmin edir və bu çərəzlər, yalnız HTTP və ya HTTPS protokolları üzərindən göndərilə bilir.
JavaScript: Pisniyyətli bir haker, XSS hücumu təşkil etməyə çalışsa, JavaSciprt istifadə edərək çərəzləri oxuya və oğurlaya bilməz, çünki HTTP Only Flag, JavaScript kodlarının çərəzlərə müraciətini əngəlləyir.
İstifadəsi
HTTP Only Flag, bir sayt yaradılarkən istifadə edilə bilər və edilməsi mütləqdir. Xüsusilə də, istifadəçilərin giriş məlumatları kimi həssas dataların çərəzlərdə saxlanıldığını nəzərə alsaq, bu özəllik ilə çərəzlərin təhlükəsizliyini artıra bilərik.
PHP dilində istifadəsi
PHP-də setcookie
funksiyası ilə HTTP Only Flag-i əlavə edə bilərik.
setcookie("sessionid", "12345", [
'httponly' => true,
'secure' => true, // Yalnız HTTPS üzərindən göndərilir
'samesite' => 'Strict' // CSRF hücumlarının qarşısını almağa kömək edir
]);
Node.js (Express) ilə istifadə
Node.js və Express istifadə edərək çərəz yaradarkən res.cookie
funksiyasını istifadə edə bilərik.
res.cookie('sessionid', '12345', {
httpOnly: true,
secure: true, // Yalnız HTTPS üzərindən göndərilir
sameSite: 'Strict' // CSRF hücumlarının qarşısını almağa kömək edir
});
Python (Flask) ilə istifadə
Python və Flask ilə çərəz yaradarkən response.set_cookie
funksiyasını istifadə edə bilərik.
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
response = make_response("Salam Dünya")
response.set_cookie('sessionid', '12345', httponly=True, secure=True, samesite='Strict')
return response
Bu nümunələrdə httponly
flag-indən əlavə secure
və samesite
flag-ləri də istifadə olunmuşdur. secure
flag-i çərəzlərin yalnız HTTPS üzərindən göndərilməsini təmin edir. samesite
flag-i isə CSRF hücumlarının qarşısını almağa kömək edir. Ümumilikdə bu əlavə flag-lər, çərəzlərin təhlükəsizliyini artırmağa kömək edir.
Last updated