|
Seanslar Sessiya ta'rifi
|
Sana | 16.05.2024 | Hajmi | 140,82 Kb. | | #237952 |
Bog'liq 3-amaliy ishlar 4 Seanslar Sessiya ta'rifi - Veb- sessiya - bu mijoz dasturi tomonidan saqlanadigan va server tomonidagi foydalanuvchi ma'lumotlari bilan taqqoslanadigan maxsus kalit ( sessiya identifikatori).
- Seanslar bir resursning dinamik sahifalari o'rtasida individual foydalanuvchi ma'lumotlarini saqlash va uzatish uchun mo'ljallangan.
Seanslarning paydo bo'lishining sabablari - Veb- server har safar keyingi sahifaga kirishda yangi HTTP tranzaksiyasini boshlaydi, eski foydalanuvchi ma'lumotlarini yangi dinamik sahifaga qo'ng'iroq bilan bog'lash imkoniyatisiz.
Seans kalitini mijoz tomonida saqlash usullari Mijoz tomonidagi kalit (sessiya identifikatori) ikki usulda saqlanishi mumkin: - HTTP Cookie- da (nisbatan xavfsiz)
- URLning bir qismi sifatida ( xavfsiz)
Server tomonidagi seans xotirasi - Seansda ma'lumotlarni saqlash usullari hech qanday tarzda tartibga solinmaydi va turli xil usullarda taqdim etilishi mumkin: serverning tizimli fayllarida, har xil turdagi ma'lumotlar bazalarida va boshqalar.
- Seans ma'lumotlari serverda massiv sifatida saqlanadi.
Seanslardan foydalanish HTTP bilan bir xil maqsadlarda ishlatilishi mumkin Cookie, lekin ma'lumotlarni server tomonida saqlash. Seanslar shuningdek, quyidagi funksiyalarni taqdim etadi: - Saytda foydalanuvchi avtorizatsiyasini tasdiqlash
- Bir nechta shakllardan kiritilgan vaqtinchalik ma'lumotlarni saqlash
- Onlayn do'konda savat
- CAPTCHA tasvirining ramziy qiymatini saqlash
Sessiya mexanizmi - Kalit serverdan yoki URL qatoridan yoki Cookie faylidan o'qiladi
- Kalitni tekshirish bosqichi serverda ushbu kalitga mos keladigan ma'lumotlar mavjudligini tekshiradi.
- Kalit uni almashtirish imkoniyatini istisno qiladigan tarzda yaratilgan.
PHP - Cookie faylida saqlangan PHP seans kaliti sukut bo'yicha nomlanadi PHPSESSID.
- $_SESSION superglobal massivida saqlanadi
session_start ( ) ; /* sessiya mexanizmini ishga tushirish */ $_SESSION [ "foydalanuvchi" ] = " pavel " ; /* “ User” sessiya oʻzgaruvchisini “ pavel ” qiymati bilan saqlash */ if ( isset ( $_SESSION [ "foydalanuvchi" ]) && ! bo'sh ( $_SESSION [ "foydalanuvchi" ])) { chop etish " Foydalanuvchiga ruxsat berilgan" ; } boshqa { chop etish " Avtorizatsiya talab qilinadi" ; } Seans ma'lumotlari o'chirilmoqda - $_SESSION assotsiativ superglobal massiv indeksini bo'shatish kifoya :
unset ( $_SESSION [ " elementlar " ]) ; // Foydalanuvchi savatdagi barcha narsalarni o'chirib tashladi Butun seansni o'chirish - Joriy foydalanuvchi sessiyasini to'liq o'chirish uchun siz session_destroy () funksiyasini chaqirishingiz mumkin:
session_destroy () ; // Foydalanuvchi "Chiqish" tugmasini bosdi, ya'ni u endi ruxsatsiz - Joriy seans identifikatorini qaytaruvchi funksiya:
string session_id ([ string $id ] ) - Seans identifikatori uchun Cookie o'zgaruvchisi nomini qaytaradigan yoki o'rnatadigan funksiya ( agar $name o'zgaruvchisi ko'rsatilgan bo'lsa) :
string session_name ([ string $name ] ) Seans xavfsizligi Seans identifikatorini o'rgangach, tajovuzkor boshqa foydalanuvchining hisobiga kirishi mumkin. ID olish usullari: - HTTP sarlavhasi Http- Referer orqali GET so'rovini ushlab turish o'tish amalga oshirilgan saytda (agar sessiya URLning bir qismi sifatida saqlangan bo'lsa)
- XSS orqali sayt sahifalaridan biriga JavaScript kodini kiritish orqali cookie-fayllarni tutib olish resurs zaifligi yoki qo'shimcha administrator imtiyozlari
- HTTP trafigini tinglash
Seans xavfsizligi Seans xavfsizligini ta'minlashning quyidagi usullari mavjud: - URLning bir qismida saqlashni taqiqlash (faqat cookie-fayllarda)
- Sahifaga HTML kodini joylashtira oladigan belgilardan qochish (siz htmlspecialchars () funksiyasidan foydalanishingiz mumkin )
- SSL protokolidan foydalanish HTTP
Seanslarni himoya qilishning boshqa texnologiyalari - Seansning tugash chegarasi
- IP- manziliga, uning brauzeriga va boshqa xususiyatlariga bog'lash
md5() ip md5 ( ip $ str ) - Str qatorining MD5 xeshini hisoblaydi MD5 algoritmidan foydalanib, RSA Data Security, Inc. va bu xeshni qaytaradi .
php $ str = ' olma' ; agar ( md5 ( $ str ) === '1afa148eb41f2e7103f21410bf48346c' ) { aks-sado "Siz yashil yoki qizil olma xohlaysizmi?" ; } ?> Laboratoriya ishi - Seanslar yordamida saytda foydalanuvchi avtorizatsiyasi skriptini yarating
- Avtorizatsiya shaklini yarating (login va parol)
- Ma'lumotlarni skript faylida o'rnatilganlar bilan taqqoslab, avtorizatsiya algoritmini amalga oshiring.
- md5() funksiyasi yordamida oldindan shifrlangan holda o'zgaruvchida saqlang .
|
| |