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 » Do 18. Dez 2008, 09:00

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: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 22. Dez 2008, 14:31

dies ist auch beim demo mandanten der fall ?

gibts einträge im errorlog.txt ?
*** make your own tools (wishlist :: thx)

Oldperl
Beiträge: 4256
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Mo 22. Dez 2008, 14:36

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 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.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 » Do 1. Jan 2009, 13:05

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 » Do 1. Jan 2009, 16:11

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 » Mo 5. Jan 2009, 10:37

Ä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: 4256
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Mo 5. Jan 2009, 11:12

@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 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.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 » Mo 5. Jan 2009, 11:38

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