3

我正在用 python 制作一个 web 应用程序,我想为会话保存一些变量,直到浏览器关闭,就像我对 PHP 所做的那样:

<?php
session_start(); 
$_SESSION['size']='small'; 
?>

什么是简单而安全的方法?

我同时使用 lighttpd 和 apache,所以我想要一些可以同时使用的东西。

我也会保存密码,所以我需要一些安全的东西。

4

2 回答 2

2

我决定用饼干来做,这更容易/更安全。这是每个感兴趣的人的代码:

# importing the libs
from http import cookies
import os

# setting the cookies
C = cookies.SimpleCookie()
C["cookie1"] = "some_text"
C["cookie2"] = "another_text"
print(C.output())

# sending the html header
print('Content-type: text/html;\n')

# reading the "cookie1" cookie
cookievalue = cookies.SimpleCookie(os.environ["HTTP_COOKIE"])
print (cookievalue["cookie1"].value)
于 2013-09-01T16:36:14.383 回答
2

在 PHP 中使用 session_start() 时,您也没有使用“纯代码”,它也是烟雾和镜子......

忽略所有警告:您可以做的是使用全局字典来存储会话数据。一旦客户端发出请求并传递“会话”-cookie,您就可以在该字典中查找所有会话数据。如果没有条目或客户端没有 session-cookie,则创建一个新会话并将 cookie 传递给客户端。session-cookie 是由一个随机的,比如 16 个字符的字符串组成的。由于密钥空间太大,其他客户端无法猜测其他用户的会话。有时,您会从服务器有一段时间没有看到的会话中删除字典。

不过,您真的应该一下 CherryPy 的有关使用会话的文档。

于 2013-09-01T15:53:42.627 回答