diff options
| author | jvoisin | 2020-12-31 16:04:34 +0100 |
|---|---|---|
| committer | jvoisin | 2020-12-31 16:04:34 +0100 |
| commit | c8ba12081260ea71d693b84ca5afbd163732c9fc (patch) | |
| tree | 79d6a8bc00d7371aee79d362d68aca5fadbfa586 /src/tests/cookies_php8 | |
| parent | 22793562313fd7efaeaa663d405357bbb788da5f (diff) | |
Add two tests for cookies encryption on php8
Diffstat (limited to 'src/tests/cookies_php8')
| -rw-r--r-- | src/tests/cookies_php8/config/config_encrypted_cookies.ini | 3 | ||||
| -rw-r--r-- | src/tests/cookies_php8/encrypt_cookies4.phpt | 31 | ||||
| -rw-r--r-- | src/tests/cookies_php8/setcookie.phpt | 37 |
3 files changed, 71 insertions, 0 deletions
diff --git a/src/tests/cookies_php8/config/config_encrypted_cookies.ini b/src/tests/cookies_php8/config/config_encrypted_cookies.ini new file mode 100644 index 0000000..4b50440 --- /dev/null +++ b/src/tests/cookies_php8/config/config_encrypted_cookies.ini | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); | ||
| 2 | sp.cookie.name("super_cookie").encrypt(); | ||
| 3 | sp.auto_cookie_secure.enable(); | ||
diff --git a/src/tests/cookies_php8/encrypt_cookies4.phpt b/src/tests/cookies_php8/encrypt_cookies4.phpt new file mode 100644 index 0000000..8b51838 --- /dev/null +++ b/src/tests/cookies_php8/encrypt_cookies4.phpt | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | --TEST-- | ||
| 2 | Cookie encryption in ipv6 | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | <?php if (PHP_VERSION_ID < 80000) print "skip"; ?> | ||
| 6 | --INI-- | ||
| 7 | sp.configuration_file={PWD}/config/config_encrypted_cookies.ini | ||
| 8 | --COOKIE-- | ||
| 9 | --ENV-- | ||
| 10 | return <<<EOF | ||
| 11 | REMOTE_ADDR=2001:0db8:0000:0000:0000:fe00:0042:8329 | ||
| 12 | HTTP_USER_AGENT=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36 | ||
| 13 | HTTPS=1 | ||
| 14 | EOF; | ||
| 15 | --FILE-- | ||
| 16 | <?php | ||
| 17 | setcookie("super_cookie", "super_value"); | ||
| 18 | setcookie("awful_cookie", "awful_value"); | ||
| 19 | setcookie("nice_cookie", "nice_value", 1, "1", "1", true, true); | ||
| 20 | $ret = setcookie("", "Cookie with no name", 1, "1", "1", true, true); | ||
| 21 | if ($ret == TRUE) { | ||
| 22 | echo "fail :/"; | ||
| 23 | } | ||
| 24 | var_dump($_COOKIE); | ||
| 25 | ?> | ||
| 26 | --EXPECTF-- | ||
| 27 | Fatal error: Uncaught ValueError: setcookie(): Argument #1 ($name) cannot be empty in %s/tests/cookies_php8/encrypt_cookies4.php:5 | ||
| 28 | Stack trace: | ||
| 29 | #0 %s/tests/cookies_php8/encrypt_cookies4.php(5): setcookie('', 'Cookie with no ...', 1, '1', '1', true, true) | ||
| 30 | #1 {main} | ||
| 31 | thrown in %s/tests/cookies_php8/encrypt_cookies4.php on line 5 | ||
diff --git a/src/tests/cookies_php8/setcookie.phpt b/src/tests/cookies_php8/setcookie.phpt new file mode 100644 index 0000000..67f1f50 --- /dev/null +++ b/src/tests/cookies_php8/setcookie.phpt | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | --TEST-- | ||
| 2 | Set cookies. | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | <?php if (PHP_VERSION_ID < 80000) print "skip"; ?> | ||
| 6 | --INI-- | ||
| 7 | sp.configuration_file={PWD}/config/config_encrypted_cookies.ini | ||
| 8 | --COOKIE-- | ||
| 9 | --ENV-- | ||
| 10 | return <<<EOF | ||
| 11 | REMOTE_ADDR=127.0.0.1 | ||
| 12 | HTTP_USER_AGENT=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36 | ||
| 13 | HTTPS=1 | ||
| 14 | EOF; | ||
| 15 | --FILE-- | ||
| 16 | <?php | ||
| 17 | setcookie("name"); | ||
| 18 | setcookie("super_cookie"); | ||
| 19 | setcookie("name", "value"); | ||
| 20 | setcookie("name", "value1", 1); | ||
| 21 | setcookie("name", "value2", 0); | ||
| 22 | setcookie("name", "value", 1, "/super/path"); | ||
| 23 | setcookie("name", "value", 1, "/super/path", "super_domain"); | ||
| 24 | setcookie("name", "value", 1, "/super/path", "super_domain1", true); | ||
| 25 | setcookie("name", "value", 1, "/super/path", "super_domain2", false); | ||
| 26 | setcookie("name", "value", 1, "/super/path", "super_domain1", true, true); | ||
| 27 | setcookie("name", "value", 1, "/super/path", "super_domain2", true, false); | ||
| 28 | setcookie("name", "value", 1, "/super/path", "super_domain2", true, false, 1337); | ||
| 29 | setcookie(); | ||
| 30 | echo '1337'; | ||
| 31 | ?> | ||
| 32 | --EXPECTF-- | ||
| 33 | Fatal error: Uncaught ArgumentCountError: setcookie() expects at most 7 arguments, 8 given in %s/tests/cookies_php8/setcookie.php:13 | ||
| 34 | Stack trace: | ||
| 35 | #0 %s/tests/cookies_php8/setcookie.php(13): setcookie('name', 'value', 1, '/super/path', 'super_domain2', true, false, 1337) | ||
| 36 | #1 {main} | ||
| 37 | thrown in %s/tests/cookies_php8/setcookie.php on line 13 | ||
