keep redirect prevention in session

This commit is contained in:
Daniel Seifert 2021-07-23 14:08:17 +02:00
parent 92330f95fe
commit 26015b4344
Signed by: DanielS
GPG Key ID: 8A7C4C6ED1915C6F
5 changed files with 41 additions and 15 deletions

View File

@ -1,5 +1,11 @@
# Changelog
- 4.0.3.0
- behält die Umleitungsverhinderung während der aktuellen Session auch ohne weitere Parameter bei
---
- 4.0.2.0
- Parameter hinzugefügt, um ungewollte URL-Weiterleitungen zu verhindern

View File

@ -33,6 +33,9 @@ use OxidEsales\Eshop\Core\Registry;
class d3geoip extends BaseModel
{
const SKIPURL_REQUEST_PARAM = 'forceUrl';
const SKIPURL_SESSION_PARAM = 'd3geoipForceUrl';
protected $_sClassName = 'd3geoip';
private $_sModId = 'd3_geoip';
public $oCountry;
@ -443,9 +446,13 @@ class d3geoip extends BaseModel
startProfile(__METHOD__);
if (Registry::getRequest()->getRequestEscapedParameter(self::SKIPURL_REQUEST_PARAM)) {
Registry::getSession()->setVariable(self::SKIPURL_SESSION_PARAM, true);
}
$oCountry = $this->getUserLocationCountryObject();
if (false == (bool) Registry::getRequest()->getRequestEscapedParameter('forceUrl')
if ($this->dontSkipUrlRedirect()
&& false == $this->isAdmin()
&& Registry::getUtils()->isSearchEngine() === false
&& $oCountry->getId()
@ -470,6 +477,17 @@ class d3geoip extends BaseModel
stopProfile(__METHOD__);
}
/**
* @return bool
*/
protected function dontSkipUrlRedirect()
{
return false === (
Registry::getRequest()->getRequestEscapedParameter(self::SKIPURL_REQUEST_PARAM) ||
Registry::getSession()->getVariable(self::SKIPURL_SESSION_PARAM)
);
}
/**
* get all shop urls
*

View File

@ -14,12 +14,14 @@
* @link http://www.oxidmodule.com
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
use D3\GeoIp\Application\Model\d3geoip;
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
$aLang = [
'charset' => 'UTF-8',
'd3mxgeoip' => "<i class='fa fa-globe'></i> GeoIP",
'd3mxgeoip_settings' => 'Einstellungen',
@ -58,7 +60,7 @@ $aLang = array(
'D3_GEOIP_SELURL_DESC' => 'Sobald im URL-Feld eine Eingabe vorhanden ist, wird bei '.
'passenden Kunden versucht, zur hinterlegten URL zu wechseln. Möchten Sie den Mandanten, die Währung und / '.
'oder die Sprache einstellen, entfernen Sie die URL.<br><br>Aktivieren / deaktivieren Sie den URL-Wechsel '.
'zusätzlich in den Modul-Grundeinstellungen.<br><br>Mit dem URL-Parameter "forceUrl=1" können Sie ungewollte URL-'.
'zusätzlich in den Modul-Grundeinstellungen.<br><br>Mit dem URL-Parameter "' . d3geoip::SKIPURL_REQUEST_PARAM . '=1" können Sie ungewollte URL-' .
'Weiterleitungen unterbinden.',
'D3_GEOIP_METADATA_TITLE' => 'D³ GeoIP Vorauswahl',
@ -69,4 +71,4 @@ $aLang = array(
'Laden Sie bitte die aktuellen CSV-Daten des Anbieters Maxmind. In "setup+doku/importCSVtoMySQL" des Modulpaketes finden Sie weitere Informationen und die erforderlichen Datenbank-Befehle, um die nötigen Daten zu generieren.'.PHP_EOL.PHP_EOL.
'Alternativ finden Sie die erforderlichen Daten im Installationspaket des Moduls unter "setup+doku/geoip-data_*". '.PHP_EOL.PHP_EOL.
'Führen Sie die SQL-Datei(en) bitte in Ihrer Datenbank aus.',
);
];

View File

@ -31,15 +31,15 @@ class d3geoip_update extends d3install_updatebase
{
public $sModKey = 'd3_geoip';
public $sModName = 'GeoIP';
public $sModVersion = '4.0.2.0';
public $sModRevision = '4020';
public $sModVersion = '4.0.3.0';
public $sModRevision = '4030';
public $sBaseConf = '--------------------------------------------------------------------------------
Idvv2==N0IxdktTWFExSTZnejNxbzR0dzQ4Y3lnYzArVWZISEZKNWRoaXBwMTRxNjFlQmpHSFZObk8za
2QrUGRuT3U1T3Nua090WThJak1jVFFxdGc1K0QxMFl6WDB3VUhzakVFM3hPYXc4RjBIWTVtZVR4YlBRe
TdZOWZpNWdpajR1NWFzdjc3aVN6YkZra1A2NHQ5ZWVXS0lsWG5tVU1xcG9GaWRpOU5MVDRjZDZUNXVFd
lVzUXlZYnlheHl6Qy9sNWFRdWdDQUFXM21NRUdnR0V1amkvVmpwaGxWZ1FIaU51M1pUaTdzMk9IeFNjb
kpZVEp5ZWxzUGlJUWZFbkdpbVBWZHN4ZStNcW1QWWwrV21ESTFpQlA1TWRCVG9BOEFqSHRMcXBsZHdjM
1loSHpoN1BZSjk2MUR0a0hIWlJYWUlCbnY=
IcVv2==WXpWc0RKWEJENXNFcURUa1JKeXF6bnZFbVgzWm9FaDJ5OTBLdytmbitEMWFBRXBhbXpyVkw3V
0MrSlRyWU5JaDczWFN0OVpzTXhqN2hpZHl0S3ByeHArT0hmbmtpaW1RVDM5cU94SjJtcnNaTG9sMkVWe
G1SZWpqRlhHUC9OSDRZWTFNdG9LNEJDUHBKMkp5UU9ZS3k2NkRxTXFsOWlUSll1dDhKNHFxelJqWStmS
ktRMkExb2x2SkRSVm50TE93M2lBZ0tvemFscGpNZ1NrN0FST0t4d3B0R21UQmJIMlp5ZnFkeE1WQzlDN
2Y0clFQWVFTUVdiaGhGb1JjbVR2RXdzNWxGSDYrZFlvTmRwdENzMkk0aExXbDVXN0dwNXRieE10U05hT
UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
--------------------------------------------------------------------------------';
public $sRequirements = '';
public $sBaseValue = '';

View File

@ -30,7 +30,7 @@ $aModule = [
'en' => '',
],
'thumbnail' => 'picture.png',
'version' => '4.0.2.0',
'version' => '4.0.3.0',
'author' => 'D&sup3; Data Development (Inh.: Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',