Latest web development tutorials

루비 CGI 세션

세션이 폐쇄 될 필요가 후 CGI :: 세션, 사용자 및 CGI 환경 지속 세션 상태로 저장할 수 있습니다, 그래서 당신은 그 데이터가 세션이 완료되면, 당신은 데이터를 삭제해야, 메모리에 기록됩니다 보장 할 수 있습니다.

#!/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}"
    }
  }
}

액세스 "/cgi-bin/test.cgi?bgcolor=red는"특정 페이지의 배경색으로 이동합니다.

세션 데이터는 서버의 임시 파일 디렉토리에, 접두사 매개 변수는 임시 파일의 접두사로, 세션의 접두사를 지정 존재합니다. 서버에서 당신은 쉽게 다른 세션들에게 임시 파일을 식별 할 수 있도록.


CGI :: 세션 클래스

CGI : 세션은 사용자와 CGI 환경의 지속적인 상태를 유지한다. 메모리 세션은 하드 디스크 일 수있다.

클래스 메소드

루비 클래스 클래스 CGI는 :: 세션은 세션을 제작하는 간단한 방법을 제공합니다 :

CGI::Session::new( cgi[, option])

CGI는 새로운 세션을 활성화하고 해당 CGI :: 세션 개체를 반환합니다. 옵션은 다음 값이 될 수있는 선택적 해시 일 수있다 :

  • SESSION_KEY는 : 기본 _session_id으로 세션 키를 저장합니다.
  • SESSION_ID : 고유 한 세션 ID.자동으로 생성
  • new_session : 현재 세션이 사실에 대한 새 세션 ID를 생성합니다.거짓, 기존 세션 SESSION_ID ID를 사용했을 경우. 생략 된 경우, 가능한 경우, 기존의 세션 또는 새로운 생성을 사용한다.
  • database_manager는 : 수 있으며, CGI :: 세션 :: 파일 저장소 또는 CGI :: 클래스에 대한 세션을 저장 세션 :: MemoryStore합니다.기본값은 파일 저장소입니다.
  • TMPDIR : 파일 저장소, 세션 오류 저장소 디렉토리하십시오.
  • 접두사 : 파일 저장소, 세션 파일 접두어하십시오.

방법 으로서는

아니오. 방법 설명
(1) []
키 값을 돌려줍니다. 예를 참조하십시오.
[] =
지정된 키 값을 설정합니다. 예를 참조하십시오.
3 삭제
삭제 방법은 기본 데이터베이스 관리를 호출합니다. 파일 저장소를 들어, 세션을 포함하는 실제 파일을 삭제합니다. MemoryStore를 들어, 메모리에서 세션 데이터를 제거합니다.
4 업데이트
기본 데이터베이스 관리의 update 메소드를 호출합니다. 파일 저장소를 들어, 세션이 디스크에 기록됩니다. MemoryStore 더 효과.