943 | | setcookie( $auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true ); |
944 | | setcookie( $auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true ); |
945 | | setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true ); |
946 | | if ( COOKIEPATH != SITECOOKIEPATH ) { |
947 | | setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true ); |
| 943 | /** |
| 944 | * Allows to manage SameSite Auth Cookie header part. |
| 945 | * Possible values are Lax|Strict|None. |
| 946 | * It's natively supported since PHP 7.3.0 . |
| 947 | * |
| 948 | * @param string $same_site SameSite parameter value, default is 'Lax'. |
| 949 | */ |
| 950 | $same_site = apply_filters( 'wp_auth_cookie_same_site', 'Lax' ); |
| 951 | |
| 952 | // lets check PHP version if it's 7.3.0+. |
| 953 | if ( version_compare( PHP_VERSION, '7.3.0' ) >= 0 ) { |
| 954 | // lets use new setcookie function shipped with php 7.3.0 . |
| 955 | setcookie( |
| 956 | $auth_cookie_name, |
| 957 | $auth_cookie, |
| 958 | array( |
| 959 | 'expires' => $expire, |
| 960 | 'path' => PLUGINS_COOKIE_PATH, |
| 961 | 'domain' => COOKIE_DOMAIN, |
| 962 | 'secure' => $secure, |
| 963 | 'httponly' => true, |
| 964 | 'samesite' => $same_site, |
| 965 | ) |
| 966 | ); |
| 967 | setcookie( |
| 968 | $auth_cookie_name, |
| 969 | $auth_cookie, |
| 970 | array( |
| 971 | 'expires' => $expire, |
| 972 | 'path' => ADMIN_COOKIE_PATH, |
| 973 | 'domain' => COOKIE_DOMAIN, |
| 974 | 'secure' => $secure, |
| 975 | 'httponly' => true, |
| 976 | 'samesite' => $same_site, |
| 977 | ) |
| 978 | ); |
| 979 | setcookie( |
| 980 | LOGGED_IN_COOKIE, |
| 981 | $logged_in_cookie, |
| 982 | array( |
| 983 | 'expires' => $expire, |
| 984 | 'path' => COOKIEPATH, |
| 985 | 'domain' => COOKIE_DOMAIN, |
| 986 | 'secure' => $secure_logged_in_cookie, |
| 987 | 'httponly' => true, |
| 988 | 'samesite' => $same_site, |
| 989 | ) |
| 990 | ); |
| 991 | if ( COOKIEPATH != SITECOOKIEPATH ) { |
| 992 | setcookie( |
| 993 | LOGGED_IN_COOKIE, |
| 994 | $logged_in_cookie, |
| 995 | array( |
| 996 | 'expires' => $expire, |
| 997 | 'path' => SITECOOKIEPATH, |
| 998 | 'domain' => COOKIE_DOMAIN, |
| 999 | 'secure' => $secure_logged_in_cookie, |
| 1000 | 'httponly' => true, |
| 1001 | 'samesite' => $same_site, |
| 1002 | ) |
| 1003 | ); |
| 1004 | } |
| 1005 | } else { |
| 1006 | setcookie( $auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true ); |
| 1007 | setcookie( $auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true ); |
| 1008 | setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true ); |
| 1009 | if ( COOKIEPATH != SITECOOKIEPATH ) { |
| 1010 | setcookie( LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true ); |
| 1011 | } |