Nach Update von 4.8.7 auf 4.8.9 Gechützter Bereich sichtbar

Gesperrt
theodorH
Beiträge: 4
Registriert: Do 18. Dez 2008, 08:53
Kontaktdaten:

Nach Update von 4.8.7 auf 4.8.9 Gechützter Bereich sichtbar

Beitrag von theodorH »

Nach dem Update von 4.8.7 auf 4.8.9 sind in der Hauptnavigation alle geschützte Kategorien sichtbar. Dies ist ebenfalls bei einer neuen Standardinstallation der Fall. Wo kann ich diese wieder verbergen?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

dies ist auch beim demo mandanten der fall ?

gibts einträge im errorlog.txt ?
*** make your own tools (wishlist :: thx)
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

Hallo theodorH,

konnte den Fehler nachvollziehen. In der contenido/classes/Contenido_FrontendNavigation/Contenido_FrontendNavigation.class.php ab Zeile 133 steht folgendes

Code: Alles auswählen

	        // check against fe-auth and against be-access
	        if ($bUseAuth === true && intval($this->oDb->f('public')) == 0) {
	            $sPerms = strval($this->oAuth->auth['perm']);
	            if (strpos($sPerms, 'sysadmin') !== false || strpos($sPerms, 'admin' !== false) ||
	                   (strpos($sPerms, 'client['.strval($this->iClient)).']' !== false && strpos($sPerms, 'lang['.strval($this->iLang)).']' !== false)) {
	                $this->aCategories[] = (int) $this->oDb->f('idcat');
                    $this->aLevel[(int) $this->oDb->f('idcat')] = (int) $this->oDb->f('level');
	            } else {
Dabei ist mir folgender Teil der if-Abfrage etwas schleierhaft und erzeugt den Fehler wie beschrieben

Code: Alles auswählen

||
	                   (strpos($sPerms, 'client['.strval($this->iClient)).']' !== false && strpos($sPerms, 'lang['.strval($this->iLang)).']' !== false)
Dort soll wohl auf die Arrays client bzw. lang geprüft werden, was so aber nicht funktioniert und hier die if-Schleife nicht in den else-Zweig, wie eigentlich gewünscht, verzweigt.
Bis jemand von 4fb da mal geschaut hat, wie das gedacht ist, hilft ein auskommentieren dieses Teils wie folgt.

Code: Alles auswählen

// check against fe-auth and against be-access
	        if ($bUseAuth === true && intval($this->oDb->f('public')) == 0) {
	            $sPerms = strval($this->oAuth->auth['perm']);
	            if (strpos($sPerms, 'sysadmin') !== false || strpos($sPerms, 'admin' !== false) /*|| (strpos($sPerms, 'client['.strval($this->iClient)).']' !== false && strpos($sPerms, 'lang['.strval($this->iLang)).']' !== false)*/) {
	                $this->aCategories[] = (int) $this->oDb->f('idcat');
                    $this->aLevel[(int) $this->oDb->f('idcat')] = (int) $this->oDb->f('level');
	            } else {
Gruß aus Franken

Ortwin

PS: Verschoben nach Bugs
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
JeromeW
Beiträge: 32
Registriert: Di 11. Nov 2008, 12:52
Kontaktdaten:

Beitrag von JeromeW »

Der Bug wäre für mich ein Grund die Version zu sperren. Wenn da einer persönliche Daten in geschützten Bereichen hat, kann es übel werden...

Viele Grüße
JeromeW
mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Beitrag von mfweb »

Deshalb sollte man ein Update ja auch (zumindest das erste Mal) nie am Produktivsystem machen, sondern immer vorher einmal an einer Kopie ausprobieren. Es könnten ja auch andere Sachen (die im eigenen System angepasst wurden) nicht mehr einwandfrei funktionieren ...

Grüße
mfweb
timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Beitrag von timo.trautmann_4fb »

Änderung eingecheckt. Zwar wurden die geschützten Kategorien in der Navi angezeigt, jedoch sollte man dennoch keinen Zugriff darauf erhalten haben, sofern man darauf geklickt hat.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

@timo,

was hast du da eingecheckt? Meine Auskommentierung?

Mich hätte schon mal interessiert warum dieser Codeschnipsel da steht. Wurde ja bestimmt nicht grundlos reingeschrieben.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Beitrag von timo.trautmann_4fb »

Nein, es war nur ein Tippfehler:

Code: Alles auswählen

 if ($bUseAuth === true && intval($this->oDb->f('public')) == 0) {
	            $sPerms = strval($this->oAuth->auth['perm']);
	            if (strpos($sPerms, 'sysadmin') !== false || strpos($sPerms, 'admin' !== false) ||
	                   (strpos($sPerms, 'client['.strval($this->iClient).']') !== false && strpos($sPerms, 'lang['.strval($this->iLang).']') !== false)) {
	                $this->aCategories[] = (int) $this->oDb->f('idcat');
                    $this->aLevel[(int) $this->oDb->f('idcat')] = (int) $this->oDb->f('level');
	            } else {
Gesperrt