O melhor tutorial Sessões CGI do Ruby em 2024. Neste tutorial você pode aprender classe CGI :: Session,
CGI :: Session podem ser salvos como utilizador e CGI ambiente de estado de sessão persistente, após as sessões precisam ser fechados, assim você pode garantir que os dados são gravados na memória que, quando a sessão for concluída, precisa de apagar os dados.
#!/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 { cgi.body ("bgcolor" => sess["bgcolor"]){ "The background of this page" + "changes based on the 'bgcolor'" + "each user has in session." + "Last access time: #{lastaccess}" } } }
Access "/cgi-bin/test.cgi?bgcolor=red" irá saltar para uma cor de fundo da página específica.
Os dados da sessão existe em um diretório de arquivos temporários no servidor, o parâmetro prefixo especifica o prefixo da sessão, como um prefixo para os arquivos temporários. No servidor de modo que você pode facilmente identificar as diferentes sessões de arquivos temporários.
CGI :: Session para manter um estado persistente do usuário e do ambiente CGI. Sessão na memória também pode ser no disco rígido.
Rubi CGI classe Class :: Sessão fornece uma maneira simples de criar sessão:
CGI::Session::new( cgi[, option])
CGI permitir uma nova sessão e retorna o objeto CGI :: Sessão correspondente. Opções de hash pode ser opcional, que podem ser os seguintes valores:
Não. | método Descrição |
---|---|
1 | [] Retorna o valor da chave. Veja exemplos. |
2 | [] = Define o valor da chave. Veja exemplos. |
3 | excluir Delete método chama o gerenciamento de banco de dados subjacente. Para FileStore, exclua o arquivo físico que contém a sessão. Para MemoryStore, remova os dados da sessão a partir da memória. |
4 | atualizar Chamar o método de atualização da gestão do banco de dados subjacente. Para FileStore, a sessão é gravada no disco. Para MemoryStore nenhum efeito. |