* * @author Christoph Wurst * @author Marco Ziech * @author Roeland Jago Douma * * @license GNU AGPL version 3 or any later version * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * */ namespace OC\Http; class CookieHelper { public const SAMESITE_NONE = 0; public const SAMESITE_LAX = 1; public const SAMESITE_STRICT = 2; public static function setCookie(string $name, string $value = '', int $maxAge = 0, string $path = '', string $domain = '', bool $secure = false, bool $httponly = false, int $samesite = self::SAMESITE_NONE) { $header = sprintf( 'Set-Cookie: %s=%s', $name, rawurlencode($value) ); if ($path !== '') { $header .= sprintf('; Path=%s', $path); } if ($domain !== '') { $header .= sprintf('; Domain=%s', $domain); } if ($maxAge > 0) { $header .= sprintf('; Max-Age=%d', $maxAge); } if ($secure) { $header .= '; Secure'; } if ($httponly) { $header .= '; HttpOnly'; } if ($samesite === self::SAMESITE_LAX) { $header .= '; SameSite=Lax'; } elseif ($samesite === self::SAMESITE_STRICT) { $header .= '; SameSite=Strict'; } header($header, false); } } internal-shares-parameter-better-distinction Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
blob: e1faf3361180249ea13c089d1201a0a4d6a2aa30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81