Sesi CGI Ruby
CGI::Session boleh menyimpan keadaan sesi berterusan untuk pengguna dan persekitaran CGI Sesi perlu ditutup selepas digunakan Ini memastikan bahawa data ditulis ke storan perlu memadam data.
#!/usr/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new("html4") sess = CGI::Session.new( cgi, "session_key" => "a_test", "prefix" => "rubysess.") lastaccess = sess["lastaccess"].to_s sess["lastaccess"] = Time.now if cgi['bgcolor'][0] =~ /[a-z]/ sess["bgcolor"] = cgi['bgcolor'] end cgi.out{ cgi.html { cgi.body ("bgcolor" => sess["bgcolor"]){ "The background of this page" + "changes based on the 'bgcolor'" + "each user has in session." + "Last access time: #{lastaccess}" } } }
Mengakses "/cgi-bin/test.cgi?bgcolor=red" akan melompat ke halaman dengan warna latar belakang yang ditentukan.
Data sesi wujud dalam direktori fail sementara pelayan Parameter awalan menentukan awalan sesi, yang akan digunakan sebagai awalan fail sementara. Dengan cara ini anda boleh mengenal pasti fail sementara sesi yang berbeza pada pelayan dengan mudah.
CGI::Kelas sesi
CGI::Session mengekalkan keadaan berterusan antara pengguna dan persekitaran CGI. Sesi boleh berada dalam ingatan atau pada cakera keras.
Kaedah kelas
Kelas Ruby CGI::Session menyediakan kaedah mudah untuk mencipta sesi:
CGI::Session::new( cgi[, option])
Mulakan sesi CGI baharu dan kembalikan CGI:: objek Sesi yang sepadan . Pilihan boleh menjadi cincang pilihan dan boleh menjadi nilai berikut:
session_key: Nama kunci untuk menyimpan sesi Lalai kepada _session_id.
id_sesi: ID sesi unik. Menjana
new_session: Jika benar, buat id Sesi baharu untuk sesi semasa. Jika palsu, gunakan ID sesi sedia ada melalui session_id. Jika parameter ini ditinggalkan, sesi sedia ada digunakan jika tersedia, jika tidak, sesi baharu dibuat.
database_manager: Kelas yang digunakan untuk menyimpan sesi, yang boleh menjadi CGI::Session::FileStore atau CGI::Session::MemoryStore. Lalai ialah FileStore.
tmpdir: Untuk FileStore, direktori storan ralat untuk sesi.
awalan: Untuk FileStore, ia adalah awalan fail sesi.
Kaedah instan
Nombor siri< /th> | Penerangan kaedah | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 |
Kembalikan nilai kunci yang diberikan. Lihat contoh. | ||||||||||
2 | <🎜>[ ]=<🎜> Tetapkan nilai kunci yang diberikan. Lihat contoh. | ||||||||||
3 | <🎜>padam<🎜> Panggil kaedah pemadaman pengurusan pangkalan data asas. Untuk FileStore, padamkan fail fizikal yang mengandungi sesi. Untuk MemoryStore, alih keluar data sesi daripada memori. | ||||||||||
4 | <🎜>kemas kini<🎜> Panggil kaedah kemas kini pengurusan pangkalan data asas. Untuk FileStore, tulis sesi ke cakera. Ia tidak mempunyai kesan pada MemoryStore. |