keep redirect prevention in session

Cette révision appartient à :
Daniel Seifert 2021-07-23 14:08:17 +02:00
Parent 92330f95fe
révision 26015b4344
Signé par: DanielS
ID de la clé GPG: 8A7C4C6ED1915C6F
5 fichiers modifiés avec 41 ajouts et 15 suppressions

Voir le fichier

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

Voir le fichier

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

Voir le fichier

@ -14,12 +14,14 @@
* @link http://www.oxidmodule.com * @link http://www.oxidmodule.com
*/ */
$sLangName = 'Deutsch'; use D3\GeoIp\Application\Model\d3geoip;
$iLangNr = 0;
$sLangName = 'Deutsch';
$iLangNr = 0;
// ------------------------------- // -------------------------------
// RESOURCE IDENTITFIER = STRING // RESOURCE IDENTITFIER = STRING
// ------------------------------- // -------------------------------
$aLang = array( $aLang = [
'charset' => 'UTF-8', 'charset' => 'UTF-8',
'd3mxgeoip' => "<i class='fa fa-globe'></i> GeoIP", 'd3mxgeoip' => "<i class='fa fa-globe'></i> GeoIP",
'd3mxgeoip_settings' => 'Einstellungen', 'd3mxgeoip_settings' => 'Einstellungen',
@ -58,7 +60,7 @@ $aLang = array(
'D3_GEOIP_SELURL_DESC' => 'Sobald im URL-Feld eine Eingabe vorhanden ist, wird bei '. '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 / '. '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 '. '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.', 'Weiterleitungen unterbinden.',
'D3_GEOIP_METADATA_TITLE' => 'D³ GeoIP Vorauswahl', '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. '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. '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.', 'Führen Sie die SQL-Datei(en) bitte in Ihrer Datenbank aus.',
); ];

Voir le fichier

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

Voir le fichier

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