mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-21 13:54:02 -07:00
Improved cookie management 🍪 (#1171)
This commit is contained in:
parent
f1fa98deec
commit
bb20d523b0
5 changed files with 97 additions and 102 deletions
|
@ -45,13 +45,13 @@
|
|||
"google/recaptcha": "^1.3",
|
||||
"guzzlehttp/guzzle": "^7.8",
|
||||
"guzzlehttp/psr7": "^2.6",
|
||||
"josantonius/cookie": "^2.0",
|
||||
"longman/ip-tools": "1.2.1",
|
||||
"monolog/monolog": "^3.4",
|
||||
"samdark/sitemap": "2.4.1",
|
||||
"symfony/mailer": "^6.3",
|
||||
"symfony/polyfill": "v1.28.0",
|
||||
"vlucas/phpdotenv": "^5.5",
|
||||
"delight-im/cookie": "3.*"
|
||||
"vlucas/phpdotenv": "^5.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/var-dumper": "^6.3"
|
||||
|
|
151
composer.lock
generated
151
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "a2ee0a4e95404dca800219b4377f8e2c",
|
||||
"content-hash": "bfcbfff44a7b82ebbac0fe610dfba0d4",
|
||||
"packages": [
|
||||
{
|
||||
"name": "arokettu/bencode",
|
||||
|
@ -275,91 +275,6 @@
|
|||
],
|
||||
"time": "2023-08-30T09:31:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "delight-im/cookie",
|
||||
"version": "v3.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/delight-im/PHP-Cookie.git",
|
||||
"reference": "67065d34272377d63bab0bd58f984f9b228c803f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/delight-im/PHP-Cookie/zipball/67065d34272377d63bab0bd58f984f9b228c803f",
|
||||
"reference": "67065d34272377d63bab0bd58f984f9b228c803f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"delight-im/http": "^2.0",
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Delight\\Cookie\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "Modern cookie management for PHP",
|
||||
"homepage": "https://github.com/delight-im/PHP-Cookie",
|
||||
"keywords": [
|
||||
"cookie",
|
||||
"cookies",
|
||||
"csrf",
|
||||
"http",
|
||||
"same-site",
|
||||
"samesite",
|
||||
"xss"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/delight-im/PHP-Cookie/issues",
|
||||
"source": "https://github.com/delight-im/PHP-Cookie/tree/v3.4.0"
|
||||
},
|
||||
"time": "2020-04-16T11:01:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "delight-im/http",
|
||||
"version": "v2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/delight-im/PHP-HTTP.git",
|
||||
"reference": "a5c2c4eae1dd3207f797984e8f64f2d71ed889dd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/delight-im/PHP-HTTP/zipball/a5c2c4eae1dd3207f797984e8f64f2d71ed889dd",
|
||||
"reference": "a5c2c4eae1dd3207f797984e8f64f2d71ed889dd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Delight\\Http\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "Hypertext Transfer Protocol (HTTP) utilities for PHP",
|
||||
"homepage": "https://github.com/delight-im/PHP-HTTP",
|
||||
"keywords": [
|
||||
"headers",
|
||||
"http",
|
||||
"https"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/delight-im/PHP-HTTP/issues",
|
||||
"source": "https://github.com/delight-im/PHP-HTTP/tree/v2.1.0"
|
||||
},
|
||||
"time": "2021-10-12T18:52:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/lexer",
|
||||
"version": "3.0.0",
|
||||
|
@ -1069,6 +984,70 @@
|
|||
],
|
||||
"time": "2023-08-27T10:13:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "josantonius/cookie",
|
||||
"version": "v2.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/josantonius/php-cookie.git",
|
||||
"reference": "278c002e4b55c21c988e8c4e7e63eb6b7a3c3c56"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/josantonius/php-cookie/zipball/278c002e4b55c21c988e8c4e7e63eb6b7a3c3c56",
|
||||
"reference": "278c002e4b55c21c988e8c4e7e63eb6b7a3c3c56",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"guzzlehttp/guzzle": "^7.4",
|
||||
"phpmd/phpmd": "^2.6",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"squizlabs/php_codesniffer": "^3.7"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Josantonius\\Cookie\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Josantonius",
|
||||
"email": "hello@josantonius.dev",
|
||||
"homepage": "https://josantonius.dev",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "PHP library for handling cookies.",
|
||||
"keywords": [
|
||||
"cookies",
|
||||
"php"
|
||||
],
|
||||
"support": {
|
||||
"discussions": "https://github.com/josantonius/php-cookie/discussions",
|
||||
"issues": "https://github.com/josantonius/php-cookie/issues",
|
||||
"source": "https://github.com/josantonius/php-cookie"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/Josantonius",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-08-10T22:19:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "longman/ip-tools",
|
||||
"version": "1.2.1",
|
||||
|
|
|
@ -76,17 +76,33 @@ define('COOKIE_MAX_TRACKS', 90);
|
|||
/**
|
||||
* Set cookie
|
||||
*
|
||||
* @param $name
|
||||
* @param $val
|
||||
* @param string $name
|
||||
* @param mixed $val
|
||||
* @param int $lifetime
|
||||
* @param bool $httponly
|
||||
* @return bool
|
||||
* @param bool $isRaw
|
||||
* @return void
|
||||
* @throws \Josantonius\Cookie\Exceptions\CookieException
|
||||
*/
|
||||
function bb_setcookie($name, $val, int $lifetime = COOKIE_PERSIST, bool $httponly = false): bool
|
||||
function bb_setcookie(string $name, mixed $val, int $lifetime = COOKIE_PERSIST, bool $httponly = false, bool $isRaw = false): void
|
||||
{
|
||||
global $bb_cfg;
|
||||
|
||||
return \Delight\Cookie\Cookie::setcookie($name, $val, $lifetime, $bb_cfg['script_path'], $bb_cfg['cookie_domain'], $bb_cfg['cookie_secure'], $httponly, $bb_cfg['cookie_same_site']);
|
||||
if (!empty($val)) {
|
||||
$cookie = new \Josantonius\Cookie\Cookie(
|
||||
domain: $bb_cfg['cookie_domain'],
|
||||
expires: $lifetime,
|
||||
httpOnly: $httponly,
|
||||
path: $bb_cfg['script_path'],
|
||||
raw: $isRaw,
|
||||
sameSite: $bb_cfg['cookie_same_site'],
|
||||
secure: $bb_cfg['cookie_secure']
|
||||
);
|
||||
$cookie->set($name, $val);
|
||||
} else {
|
||||
$cookie = new \Josantonius\Cookie\Cookie();
|
||||
$cookie->remove($name);
|
||||
}
|
||||
}
|
||||
|
||||
// User Levels
|
||||
|
|
|
@ -211,7 +211,7 @@ if (!empty($bb_cfg['page']['show_torhelp'][BB_SCRIPT]) && !empty($userdata['torh
|
|||
|
||||
if (TIMENOW > $ignore_time) {
|
||||
if ($ignore_time) {
|
||||
bb_setcookie('torhelp', '', COOKIE_EXPIRED);
|
||||
bb_setcookie('torhelp', null);
|
||||
}
|
||||
|
||||
$sql = "
|
||||
|
|
|
@ -301,8 +301,8 @@ class User
|
|||
LIMIT 1
|
||||
");
|
||||
|
||||
bb_setcookie(COOKIE_TOPIC, '');
|
||||
bb_setcookie(COOKIE_FORUM, '');
|
||||
bb_setcookie(COOKIE_TOPIC, null);
|
||||
bb_setcookie(COOKIE_FORUM, null);
|
||||
|
||||
$this->data['user_lastvisit'] = $last_visit;
|
||||
}
|
||||
|
@ -479,7 +479,7 @@ class User
|
|||
|
||||
foreach ($delete_cookies as $cookie) {
|
||||
if (isset($_COOKIE[$cookie])) {
|
||||
bb_setcookie($cookie, '', COOKIE_EXPIRED);
|
||||
bb_setcookie($cookie, null);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -487,14 +487,14 @@ class User
|
|||
$c_sdata_curr = ($this->sessiondata) ? serialize($this->sessiondata) : '';
|
||||
|
||||
if ($c_sdata_curr !== $c_sdata_resv) {
|
||||
bb_setcookie(COOKIE_DATA, $c_sdata_curr, COOKIE_PERSIST, true);
|
||||
bb_setcookie(COOKIE_DATA, $c_sdata_curr, httponly: true);
|
||||
}
|
||||
|
||||
// Unset sql debug cookies
|
||||
if (!SQL_DEBUG || !APP_DEBUG) {
|
||||
foreach (array('explain', 'sql_log', 'sql_log_full') as $cookie) {
|
||||
if (isset($_COOKIE[$cookie])) {
|
||||
bb_setcookie($cookie, '', COOKIE_EXPIRED);
|
||||
bb_setcookie($cookie, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -650,9 +650,9 @@ class User
|
|||
]);
|
||||
|
||||
// Delete cookies
|
||||
bb_setcookie(COOKIE_TOPIC, '');
|
||||
bb_setcookie(COOKIE_FORUM, '');
|
||||
bb_setcookie(COOKIE_MARK, '');
|
||||
bb_setcookie(COOKIE_TOPIC, null);
|
||||
bb_setcookie(COOKIE_FORUM, null);
|
||||
bb_setcookie(COOKIE_MARK, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue