• Seanslarning paydo bolishining sabablari
  • Mijoz tomonidagi kalit (sessiya identifikatori) ikki usulda saqlanishi mumkin
  • Seanslardan foydalanish HTTP bilan bir xil maqsadlarda ishlatilishi mumkin Cookie, lekin malumotlarni server tomonida saqlash.
  • PHP Cookie faylida saqlangan PHP seans kaliti sukut boyicha nomlanadi PHPSESSID. $_SESSION superglobal massivida saqlanadi Seans malumotlari saqlanmoqda
  • // Foydalanuvchi "Chiqish" tugmasini bosdi, yani u endi ruxsatsiz
  • Seans xavfsizligi Seans xavfsizligini taminlashning quyidagi usullari mavjud
  • Seanslarni himoya qilishning boshqa texnologiyalari
  • $ str = olma ;
  • Seanslar Sessiya ta'rifi




    Download 140,82 Kb.
    Sana16.05.2024
    Hajmi140,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

    Seans ma'lumotlari saqlanmoqda

    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

    Identifikator va uning nomi bilan ishlash funktsiyalari

    • 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 .
    • $ 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 .

    Download 140,82 Kb.




    Download 140,82 Kb.