Wordpress 定义('COOKIE_DOMAIN',false) 含义

woo*_*586 5 php cookies wordpress

我有一个 Wordpress 多站点,它使用两个不同的域,例如:

  • www.test.com - 主要站点
  • www.example.com

为了让登录在非主站点上工作,我必须在 wp-config.php 文件中添加以下行

define('COOKIE_DOMAIN',false);
Run Code Online (Sandbox Code Playgroud)

这允许任何 WordPress 域设置 Cookie,进而允许用户登录辅助站点。我的问题是有效通配 Cookie 域的安全隐患是什么?

vij*_*oli -1

在 WordPress 多站点环境中通过将 COOKIE_DOMAIN 设置为 false 来对 Cookie 域进行通配符会产生安全隐患,需要重点考虑。

Security Implications:
Run Code Online (Sandbox Code Playgroud)
  • 增加攻击面:

  • 会话固定:

  • 跨站脚本 (XSS) 风险:

  • Cookie 劫持:

如果攻击者获得了 cookie 的访问权限,他们就可以冒充通配符覆盖的任何子域上的用户。

Secure Cookies:
Run Code Online (Sandbox Code Playgroud)

在 cookie 上设置 secure 和 httponly 标志以增强其安全性。secure 标志确保 cookie 仅通过安全 (HTTPS) 连接发送,而 httponly 标志可防止客户端脚本访问 cookie。

define('COOKIE_DOMAIN', false);
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
define('SECURE_AUTH_COOKIE', 'secure_auth');
define('LOGGED_IN_COOKIE', 'logged_in');
define('TEST_COOKIE', 'test_cookie');
define('COOKIEHASH', '');
Run Code Online (Sandbox Code Playgroud)