1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
spread.php
См. документацию.
1<?php
2
3// Should work only on HTTPS requests
4
7
8header("P3P: policyref=\"/bitrix/p3p.xml\", CP=\"NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA\"");
9header("Content-type: image/png");
10
11if (isset($_GET['k']) && isset($_GET['s']) && is_string($_GET['k']) && is_string($_GET['s']) && $_GET['k'] != '')
12{
13 // "SameSite: None" requires "secure"
14 ini_set('session.cookie_secure', 1);
15 ini_set('session.cookie_samesite', 'None');
16
17 require_once(__DIR__.'/include.php');
18
20
21 $cookieString = base64_decode($_GET['s']);
22 $salt = $_SERVER['REMOTE_ADDR'] . '|' . @filemtime($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/classes/general/version.php') . '|' . $application->getLicense()->getKey();
23
24 if (md5($cookieString . $salt) === $_GET['k'])
25 {
26 $arr = explode(chr(2), $cookieString);
27
28 if (is_array($arr))
29 {
30 $context = Main\Context::getCurrent();
31 $request = $context->getRequest();
32 $response = $context->getResponse();
33
34 $host = $request->getHttpHost();
35
36 foreach ($arr as $str)
37 {
38 if ($str != '')
39 {
40 $ar = explode(chr(1), $str);
41
42 // "SameSite: None" requires "secure"
43 $cookie = (new Web\Cookie($ar[0], $ar[1], $ar[2], false))
44 ->setPath($ar[3])
45 ->setDomain($host)
46 ->setSecure(true)
47 ->setHttpOnly($ar[6])
48 ->setSameSite(Web\Http\Cookie::SAME_SITE_NONE)
49 ;
50
51 $response->addCookie($cookie);
52
53 //logout
54 if(substr($ar[0], -5) == '_UIDH' && $ar[1] == '')
55 {
56 $kernelSession = $application->getKernelSession();
57 $kernelSession["SESS_AUTH"] = [];
58 unset($kernelSession["SESS_AUTH"]);
59 unset($kernelSession["SESS_OPERATIONS"]);
60 }
61 }
62 }
63 }
64 }
65
66 $application->end();
67}
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
Определения catalog_reindex.php:36
static getInstance()
Определения application.php:98
$str
Определения commerceml2.php:63
$arr
Определения file_new.php:624
$host
Определения .description.php:9
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
$context
Определения csv_new_setup.php:223
$application
Определения bitrix.php:23
$kernelSession
Определения include.php:181
Определения cookie.php:3
$ar
Определения options.php:199
$response
Определения result.php:21