使用C/CGI管理会话

Del*_*ani 6 c cgi

我正在寻找用C和CGI编写一些应用程序,现在我已经实现了URI编码/解码,HTML实体编码/解码,查询/ cookie解析器等基本功能.我需要管理会话.我该怎么做?例如,PHP如何管理会话?

neu*_*uro 5

由于HTTP是无状态的,因此您必须维护一个可以跟踪会话的ID.两种主要方式是使用cookie来存储id或将id嵌入URL中,通常进行URL重写.

您可以查看WT,这是一个用C++编写的Web工具包.另请参阅此SO问题以获取c ++ Web框架列表.你可能会发现他们如何处理会话.

MY2C


Ber*_*ann 5

将UserID和SessionID存储在cookie中,然后将服务器上的所有其他数据存储在数据库中.不要在URL中对用户和会话进行编码,因为这会导致会话劫持,即使用户只想向某个朋友显示链接.

  • 是的,这是一个常见的问题.数据库中的会话条目必须具有时间值,您可以在会话执行的每个操作上更新该时间值.然后,您可以在数据库中运行自动作业,清除所有无响应的会话,例如超过1小时. (2认同)