| @@ -205,9 +205,19 @@ | ||
| 205 | 205 | * @param int $time The expiration time of the cookie. |
| 206 | 206 | */ |
| 207 | 207 | public function set_cookie_notice( $name, $value, $time ) { |
| 208 | 208 | if ( ! isset( $_COOKIE[ $name ] ) ) { |
| 209 | - setcookie( $name, $value, $time, '/' ); | |
| 209 | + setcookie( | |
| 210 | + $name, | |
| 211 | + $value, | |
| 212 | + array( | |
| 213 | + 'expires' => $time, | |
| 214 | + 'path' => '/', | |
| 215 | + 'secure' => is_ssl(), | |
| 216 | + 'httponly' => true, | |
| 217 | + 'samesite' => 'Lax', | |
| 218 | + ) | |
| 219 | + ); | |
| 210 | 220 | } |
| 211 | 221 | } |
| 212 | 222 | |
| 213 | 223 | /** |
| @@ -221,9 +231,19 @@ | ||
| 221 | 231 | * @since 4.3.0 Removed the $time parameter. |
| 222 | 232 | */ |
| 223 | 233 | public function remove_cookie_notice( string $name ): void { |
| 224 | 234 | if ( isset( $_COOKIE[ $name ] ) && ! headers_sent() ) { |
| 225 | - setcookie( $name, '', time() - YEAR_IN_SECONDS, '/' ); | |
| 235 | + setcookie( | |
| 236 | + $name, | |
| 237 | + '', | |
| 238 | + array( | |
| 239 | + 'expires' => time() - YEAR_IN_SECONDS, | |
| 240 | + 'path' => '/', | |
| 241 | + 'secure' => is_ssl(), | |
| 242 | + 'httponly' => true, | |
| 243 | + 'samesite' => 'Lax', | |
| 244 | + ) | |
| 245 | + ); | |
| 226 | 246 | } |
| 227 | 247 | $this->remove_extra_cookies(); |
| 228 | 248 | } |
| 229 | 249 | |