* Modify the storage method of cookies.

This commit is contained in:
tianshujie
2021-08-26 16:23:26 +08:00
parent c47fbcc333
commit 91ed2464fb
2 changed files with 14 additions and 23 deletions
+6 -17
View File
@@ -12,7 +12,6 @@ $filter->rules->browseType = '/^by\w+$/i';
$filter->rules->word = '/^\w+$/';
$filter->rules->paramName = '/^[a-zA-Z0-9_\.]+$/';
$filter->rules->paramValue = '/^[a-zA-Z0-9=_,`#+\^\/\.%\|\x7f-\xff\-]+$/';
$filter->rules->url = '/((http|https):\/\/)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(\/[a-zA-Z0-9\&%_\.\/-~-]*)?/';
$filter->default = new stdclass();
$filter->default->moduleName = 'code';
@@ -23,22 +22,12 @@ $filter->default->paramValue = 'reg::paramValue';
$filter->default->get['onlybody'] = 'equal::yes';
$filter->default->get['HTTP_X_REQUESTED_WITH'] = 'equal::XMLHttpRequest';
$filter->default->cookie['lang'] = 'reg::lang';
$filter->default->cookie['theme'] = 'reg::word';
$filter->default->cookie['fingerprint'] = 'reg::word';
$filter->default->cookie['hideMenu'] = 'equal::true';
$filter->default->cookie['openApp'] = 'reg::word';
$filter->default->cookie['myGoback'] = 'reg::url';
$filter->default->cookie['programGoback'] = 'reg::url';
$filter->default->cookie['productGoback'] = 'reg::url';
$filter->default->cookie['projectGoback'] = 'reg::url';
$filter->default->cookie['executionGoback'] = 'reg::url';
$filter->default->cookie['qaGoback'] = 'reg::url';
$filter->default->cookie['devopsGoback'] = 'reg::url';
$filter->default->cookie['docGoback'] = 'reg::url';
$filter->default->cookie['reportGoback'] = 'reg::url';
$filter->default->cookie['systemGoback'] = 'reg::url';
$filter->default->cookie['adminGoback'] = 'reg::url';
$filter->default->cookie['lang'] = 'reg::lang';
$filter->default->cookie['theme'] = 'reg::word';
$filter->default->cookie['fingerprint'] = 'reg::word';
$filter->default->cookie['hideMenu'] = 'equal::true';
$filter->default->cookie['openApp'] = 'reg::word';
$filter->default->cookie['goback'] = 'reg::any';
$filter->my = new stdclass();
$filter->bug = new stdclass();
+8 -6
View File
@@ -497,18 +497,20 @@ class baseHTML
}
$referer = $_SERVER['HTTP_REFERER'];
$refererArray = parse_url($referer);
$refererLink = $config->requestType == 'PATH_INFO' ? $refererArray['path'] : $refererArray['query'];
$refererParts = parse_url($referer);
$refererLink = $config->requestType == 'PATH_INFO' ? $refererParts['path'] : $refererParts['query'];
$currentModule = $app->getModuleName();
$currentMethod = $app->getMethodName();
$gobackCookie = $_COOKIE['openApp'] . 'Goback';
$gobackLink = isset($_COOKIE[$gobackCookie]) ? $_COOKIE[$gobackCookie] : '';
$tab = $_COOKIE['openApp'];
$gobackList = isset($_COOKIE['goback']) ? json_decode($_COOKIE['goback'], true) : array();
$gobackLink = isset($gobackList[$tab]) ? $gobackList[$tab] : '';
/* If the link of the referer is not the link of the current page or the link of the index, the cookie and gobackLink will be updated. */
if(!preg_match("/(m=|\/)(index|$currentModule)(&f=|-)(index|$currentMethod)(&|-|\.)?/", $refererLink))
{
setcookie($gobackCookie, $referer, $config->cookieLife, $config->webRoot, '', $config->cookieSecure, false);
$gobackLink = $referer;
$gobackList[$tab] = $referer;
$gobackLink = $referer;
setcookie('goback', json_encode($gobackList), $config->cookieLife, $config->webRoot, '', $config->cookieSecure, false);
}
return "<a href='{$gobackLink}' class='btn btn-back $class' $misc>{$label}</a>";