首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHP创建不可预测的Cookie会话I

如何使用PHP创建不可预测的Cookie会话I
EN

Stack Overflow用户
提问于 2011-12-13 01:27:31
回答 1查看 939关注 0票数 0

我有一个网站,需要通过PCI合规性。

使用Magento 1.5.1的站点(Magento是基于PHP的系统)和PCI遵从性故障是可预测的Cookie会话ID。

我假设这意味着他们想要将Magento中名为“前端”的cookie更改为随机的UUID。我假设这可以在不修改或扩展内核的情况下完成,但我找不到这样做的设置。

有什么想法?

以下是漏洞描述:

远程web应用程序正在使用可预测的基于cookie的会话is。理想情况下,会话ID是攻击者无法猜测的随机生成的数字。如果会话ID是可预测的,则攻击者可以劫持活动受害者的

EN

回答 1

Stack Overflow用户

发布于 2011-12-13 01:46:29

我不确定这是否会有帮助,但这是我知道如何进行会话设置的最安全的方法。我喜欢被比我更有见识的人纠正,因为这会直接影响我所有的电子商务项目。

下面的代码中引用了一个来自我的opensource frameworkcurrent_domain()函数(指向包含该函数的文件的链接)。如果你不需要动态域替换,你可以在那里硬编码你的域。

代码语言:javascript
复制
<?
ini_set( 'session.use_trans_sid',       false                   );
ini_set( 'url_rewriter.tags',           ''                      );
ini_set( 'session.use_cookies',         true                    );
ini_set( 'session.use_only_cookies',    true                    );
ini_set( 'session.name',                sha1( current_domain()  ) ); // current domain is a function implemented in tgsf
ini_set( 'session.cookie_lifetime',     0                       ); // until browser is closed.  I implement this server side

ini_set( 'session.hash_function',           1 ); // sha-1
ini_set( 'session.hash_bits_per_character', 6 );

// only if host is not localhost 
ini_set( 'session.cookie_domain', 'www.example.com' );

// use for localhost
//ini_set( 'session.cookie_domain', null );

ini_set( 'session.cookie_path', '/' ); // limit as much as you can for security
ini_set( 'session.cache_limiter',           'nocache' ); //prevents back button displaying a page after session is dead
ini_set( 'session.cookie_httponly',         true ); // helps prevent xss by preventing javascript access to the session cookie (on SOME browsers, not all)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8478265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档