Session Validator
Definition at line 15 of file Validator.php.
◆ __construct()
- Parameters
-
\Magento\Framework\App\Config\ScopeConfigInterface | $scopeConfig | |
\Magento\Framework\HTTP\PhpEnvironment\RemoteAddress | $remoteAddress | |
string | $scopeType | |
array | $skippedUserAgentList | |
Definition at line 61 of file Validator.php.
67 $this->_scopeConfig = $scopeConfig;
68 $this->_remoteAddress = $remoteAddress;
69 $this->_skippedAgentList = $skippedUserAgentList;
70 $this->_scopeType = $scopeType;
◆ _getSessionEnvironment()
_getSessionEnvironment |
( |
| ) |
|
|
protected |
Prepare session environment data for validation
- Returns
- array
Definition at line 172 of file Validator.php.
175 self::VALIDATOR_REMOTE_ADDR_KEY =>
'',
176 self::VALIDATOR_HTTP_VIA_KEY =>
'',
177 self::VALIDATOR_HTTP_X_FORWARDED_FOR_KEY =>
'',
178 self::VALIDATOR_HTTP_USER_AGENT_KEY =>
'',
182 if ($this->_remoteAddress->getRemoteAddress()) {
185 if (isset($_ENV[
'HTTP_VIA'])) {
188 if (isset($_ENV[
'HTTP_X_FORWARDED_FOR'])) {
193 if (isset($_SERVER[
'HTTP_USER_AGENT'])) {
const VALIDATOR_HTTP_USER_AGENT_KEY
const VALIDATOR_REMOTE_ADDR_KEY
const VALIDATOR_HTTP_VIA_KEY
const VALIDATOR_HTTP_X_FORWARDED_FOR_KEY
◆ _validate()
Validate data
- Returns
- bool
- Exceptions
-
SessionException | @SuppressWarnings(PHPMD.CyclomaticComplexity) |
Definition at line 102 of file Validator.php.
107 if ($this->_scopeConfig->getValue(
108 self::XML_PATH_USE_REMOTE_ADDR,
112 throw new SessionException(
114 'The "%1" session value is invalid. Verify and try again.',
115 [self::VALIDATOR_REMOTE_ADDR_KEY]
119 if ($this->_scopeConfig->getValue(
120 self::XML_PATH_USE_HTTP_VIA,
124 throw new SessionException(
126 'The "%1" session value is invalid. Verify and try again.',
127 [self::VALIDATOR_HTTP_VIA_KEY]
134 if ($this->_scopeConfig->getValue(
135 self::XML_PATH_USE_X_FORWARDED,
137 ) && $httpXForwardedKey != $validatorXForwarded
139 throw new SessionException(
141 'The "%1" session value is invalid. Verify and try again.',
142 [self::VALIDATOR_HTTP_X_FORWARDED_FOR_KEY]
146 if ($this->_scopeConfig->getValue(
147 self::XML_PATH_USE_USER_AGENT,
151 foreach ($this->_skippedAgentList as $agent) {
152 if (preg_match(
'/' . $agent .
'/iu', $validatorData[self::VALIDATOR_HTTP_USER_AGENT_KEY])) {
156 throw new SessionException(
158 'The "%1" session value is invalid. Verify and try again.',
159 [self::VALIDATOR_HTTP_USER_AGENT_KEY]
const VALIDATOR_HTTP_USER_AGENT_KEY
const VALIDATOR_REMOTE_ADDR_KEY
const VALIDATOR_HTTP_VIA_KEY
const VALIDATOR_HTTP_X_FORWARDED_FOR_KEY
◆ validate()
Validate session
- Parameters
-
- Returns
- void
- Exceptions
-
Definition at line 80 of file Validator.php.
82 if (!isset($_SESSION[self::VALIDATOR_KEY])) {
87 }
catch (SessionException $e) {
88 $session->destroy([
'clear_storage' =>
false]);
◆ $_remoteAddress
◆ $_scopeConfig
◆ $_scopeType
◆ $_skippedAgentList
◆ VALIDATOR_HTTP_USER_AGENT_KEY
const VALIDATOR_HTTP_USER_AGENT_KEY = 'http_user_agent' |
◆ VALIDATOR_HTTP_VIA_KEY
const VALIDATOR_HTTP_VIA_KEY = 'http_via' |
◆ VALIDATOR_HTTP_X_FORWARDED_FOR_KEY
const VALIDATOR_HTTP_X_FORWARDED_FOR_KEY = 'http_x_forwarded_for' |
◆ VALIDATOR_KEY
const VALIDATOR_KEY = '_session_validator_data' |
◆ VALIDATOR_REMOTE_ADDR_KEY
const VALIDATOR_REMOTE_ADDR_KEY = 'remote_addr' |
◆ XML_PATH_USE_HTTP_VIA
const XML_PATH_USE_HTTP_VIA = 'web/session/use_http_via' |
◆ XML_PATH_USE_REMOTE_ADDR
const XML_PATH_USE_REMOTE_ADDR = 'web/session/use_remote_addr' |
◆ XML_PATH_USE_USER_AGENT
const XML_PATH_USE_USER_AGENT = 'web/session/use_http_user_agent' |
◆ XML_PATH_USE_X_FORWARDED
const XML_PATH_USE_X_FORWARDED = 'web/session/use_http_x_forwarded_for' |
The documentation for this class was generated from the following file: