php - 如何限制 PHPSESSID cookie 为 https?

标签 php security session

我想限制 phpsessid cookie 仅在管理员 session 期间用于安全连接,但允许 phpsessid 用于普通用户的不安全连接。每次运行脚本时都需要在调用 session_start() 之前调用 session_set_cookie_params,但我需要先调用 session_start() 来检查告诉我用户是否为管理员的 session 数据。

我想拥有只能通过 https(管理面板、登录等)访问的页面,以及网站的其余部分(文章等),普通用户可以通过正常连接访问,管理员只能通过安全连接访问。这样管理员的 sid 永远不会暴露;公开 sid 并仅依靠 IP、用户代理等检查是不够的。重要的交易将受到密码保护,但不可能对所有交易都使用密码,这会很烦人。

最佳答案

在 PHP 中你设置了 session.use_only_cookiessession.cookie_secure配置选项。这可以在运行时或在您的 php.ini 中完成。 cookie_secure 是一个糟糕的名字,但它告诉客户端这个 cookie 必须始终通过 https 传输。

关于php - 如何限制 PHPSESSID cookie 为 https?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146974/

相关文章:

php - 如何获取自定义脚本的 Composer 命令参数?

php - 检查 sessionid 已知的 PHP session 是否处于事件状态

security - 如何使用 ElasticSearch 保护和允许身份验证?

java - 通过URL透明登录

java - 如何为 Java Web 应用程序设置 httponly 和 session cookie

php - Symfony2 : Invalid CSRF token while remember me authentication

php - jQuery 效率低下?

PHP登录问题;未知

php - PHP和mysqli- fatal error :在非对象上调用成员函数bind_param()

php - 当遍历循环时,在循环内访问 MySQL 的效率是高还是低?