Salam, belə bir sualım var. PHP-də session və cookie istifadəsi nə dərəcədə təhlükəsizdir? Bunlar 3-cü tərəfin əlinə keçə bilərmi? Session və cookie-lərdə hansı məlumatları saxlamaq düzgündür? Cookie məlumatları serverdə saxlanılır. Bildiyimə görə SSL sertifikatı almaq lazımdır ki, məlumatları şifrələsin. (bəzi saytlar var ki cookiləri oxuyur məs: ubuntu.com) Bəs bundan əlavə özüm də dataları şifrələməliyəm təhlükəsizlik baxımından? (Əgər etməliyəmsə bunu tək tərəfli şifrələməylə yoxsa iki tərəfli şifrələməylə etməliyəm?) Hə bir də session. Bunu da həmçinin şifrələmək lazımdı? Bu brauzerdə saxlanılırsa kimsə tərəfindən oxuna bilər? Nə bilim ən azından özündən bir brauzer yaradıb dataları götürə bilməz?
Verilmiş cavablar və yazılan şərhlər (10 cavab var)
2
Salam. Bir qədər yanlışlıqlar var sualda. Öncə onları düzəldək:
1. “Cookie məlumatları serverdə saxlanılır” – Xeyr, Cookie istifadəçi brauzerində olur. Sessiya isə serverdə.
2. “bəzi saytlar var ki cookiləri oxuyur məs: ubuntu.com” – Bütün saytlar cookie istifadə edir və istədiyində onu oxuyur, ubuntu zad o mesajı yazması texniki yox, hüquqi məsələdir. Avropa Birliyinin məcbur etdiyi bir mənasız bürokratik qanunla bağlıdır, bəzi saytlar da məcburən o bildirişi yazır ki yəni xəbəriniz olsun ki, cookie istifadə edirik.
3. Ötürülən trafikin(istər məzmun, istərsə də headerdə olan informasiya) şifrələnməsi üçün bəli SSL istifadə edilir. Əlavə şifrələmə aparmağınıza gərək yoxdur.
Sessiya və Cookie-dən düzgün istifadə etdikdə heç bir təhlükəsi yoxdur. Əlavə şifrələməyə də gərək yoxdur.
Sualı bir qədər dəqiqləşdirməniz lazımdır. Sizin çəkindiyiniz nədir? Nəyin kimin əlinə keçməsindən çəkinirsiz?
0
Belə başa düşdüm ki, cookieləri hamı oxuya bilirsə əgər onda ora vacib dataları əlavə etmək olmaz. Məsələn sayta daxil olan istifadəçinin id nömrəsini və ya epoçtunu session (və ya cookie) ilə saxlanılması bir problem yarada bilər?
0
Hamı niyə e. Bir öz sahibi oxuya bilir, bir də veb saytın özü. Başqa heç kim. İstifadəçi İD-sini orada saxlamaq tam normaldır. Hətta auth_token də orda saxlanıllır adətən. Yəni istifadəçin saytda login olduğunu təsdiq edən şifrəli kod. Hansı ki başqasının əlinə keçsə başqası hesabı ələ keçirmiş kimi bir şey olur. Yəni cookie-yə normalda heç kimin müdaxilə imkanı yoxdur, ona görə də qorxulu deyil orda normal data saxlamaq. Təbii ki nə gəldi basıb doldurmaq olmaz ora, bir iki İD, token filan bəs edir
1
Yəni qaqa demək istəyirsənki “biz kompumuzda hansısa ssl olmayan sayta daxil oluruq, parolumuz cookieyə yazılır. Və nə vaxtsa xəbərimiz olmadan kimsə kompumuzda hansısa proqramla o parolu çəkə bilər. Hər halda cookire browserə yazılır”
Bunu deyirsən düzdü? Ssl sertifikatı ilə mümkünsüzdu. Qeyri halda isə cookieni görüntüləmək üçün həmin adamda gərək güclü bilik ola və kompun və ya telin əlinə keçə. Odaki keçirməsən mümkünsüzdü. Yəni bu haqda fikir flan eləmə.
0
Hə tam üstünə basdın 🙂
0
Deməli belə, Cookie ayrı-ayrı adlar altinda olur, yəni hər name-nin öz datası olur. Yəni bu üzdən görünə bilən məlumatlardı. Amma Session şifrələnmiş formada olur brauzerdə. Bunları müxtəlif yollarla oğurlamaq olar, xaker gözüylə baxsaq, XSS ilə javascript kodu verib istifadəçilərin brauzerindən Cookie məlumatları götürmək olar, əgər saytda XSS açığı varsa. Bundan başqa MİTM hücumu və sniffing yolları ilə bu cookieləri oğurlamaq mümkün olduğuna görə mən Session-u məsləhət görürəm, çünki Sessionu oğurlasa o Session-u deşifrə edə bilməz, amma Cookie-nin deşifrə olunmasına ehtiyac yoxdu. İstifadəçi parolunu md5 və ya digər şifrələmə yollarıyla Cookie-yə yazsan belə Sessiona nisbətən daha “sensitiv” (riskli) olduğunu düşünürəm. Təbii ki, mən sənin Cookieyə emaili, idi, parolu və s. ayrıca verməyini nəzərdə tutduğunu başa düşdüm. Əgər elədisə dediyim kimi Session daha məsləhətlidi. Ya da tam başqa bir yol, Cookieyə yaz, amma bazada həmin istifadəçinin login olduğu barədə bir “key” yarat və o “key”-i Cookie-yə yaz logout olana qədər istifadəçi təhlükəsiz formada cookie istifadəsinə yol vermiş olacaq.
0
Qaqa elə ən yaxşısı md5 ilə əsas olan parolu şifrələ fso. Cookie ilə onsuzda əsas parol yadda qalır fso. Yəni saytdakı mesajlar, ad, email filan cookiedə yazılmırki. Elədə narahatçılıq verən şey deyil hər şeyi yolunda etsən.
1
Sonra oğurlanan Cookie-dəki md5-i decrypt edib parolu götürmək olsun . 🙂 Bu təhlükəli yoldu md5-lə birbaşa Cookie-yə yazmaq.
0
mən oxuduğum kitabda md5 və sha1 şifrəni açmaq olur yazilmışdı. Səhv məlumatdı?
0
Əlbəttə səhvdir. md5-i açmaq deyəndə tərs yoxlama nəzərdə tutulur. Yəni internetdə milyardlarla md5 cütləri var, sadəcə generasiya edilərək yığılır ora. Oradan tapmaq olur tapanda. Yəni siz 12345 qoysanız şifrəni, kimsə onun md5-ni görsə, google-da axtaracaq md5-i və rahatlıqla sizin şifrəni qıracaq. Çünki belə sadə şifrələrin md5-i internetdə var. Amma məsələn DSJfd_$433+4332_ bu şifrənin md5-ni internetdə axtarsanız, heç yerdə tapılmayacaq. Ona görə də şifrə istifadə edərkən sadə, hamıya məlum ola biləcək söz və rəqəmlərdən istifadə etmək olmaz.
p.s. cavab hissəsinə sual yazmaq olmaz. lütfən sualınızı ayrıca sual kimi yerləşdirin sual olanda.
Sual verin
Cavab verin