[Jderobot-admin] Problema extensión AccessControl de mediawiki

Oscar Garcia oscar.robotica en linaresdigital.com
Mie Nov 27 14:55:45 CET 2013


El 27/11/2013 13:59, Borja Mon Serrano escribió:
> [Wed Nov 27 13:45:32 2013] [error] [client 193.147.51.246] PHP Fatal 
> error:  Call to a member function getNativeData() on a non-object in 
> /var/www/mediawiki-1.21.0/extensions/AccessControl/AccessControl.php 
> on line 147, referer: http://jderobot.org/Main_Page
>
> La línea 147 del fichero indicado dice (se puede ver en [1]):
>
> $usersAccess = explode( "\n", $allowedUsers );
>
> Entiendo que lo que hace esa llamada es obtener en una lista o alguna 
> estructura parecida el nombre de los usuarios que tienen permitido el 
> acceso a dicha página, por lo que no sé muy bien si el problema está 
> directamente ahí o más bien en cómo funciona la extensión para 
> restringir el acceso a aquellos usuarios que no deben entrar (con esto 
> quiero decir que lo mismo es la propia extensión la que no está 
> dejando acceder a qué usuarios son los permitidos por el hecho de que 
> me he logueado con un usuario que no es uno de los permitidos, no sé 
> si me estoy explicando).


Parece que habéis hecho modificaciones en vuestro código local y que esa 
no es la línea 147 en vuestro AccessControl.php.

Para saber qué línea es puedes usar este comando:

sed -n 147p 
/var/www/mediawiki-1.21.0/extensions/AccessControl/AccessControl.php

Todo apunta a que es esta línea la que genera el error:

    $allowedUsers = $groupPage->getContent()->getNativeData();


Está en la línea 140 del original.

Tiene toda la pinta de que $groupPage->getContent() no generó un objeto, 
si no cualquier otra cosa (false, NULL, una cadena, un valor entero o 
coma flotante, un array, etc).

¿Podrías hacer esto de manera puntual?

var_dump($groupPage->getContent());

Así podríamos ver qué está devolviendo por si es un bug de esa 
aplicación y hay que tener en cuenta cosas como que no esté la página de 
permisos generada desde la que obtener los datos, o que éstos sean 
devueltos en un array en ciertas ocasiones, etc.



>     Se puede desactivar esa opción (se recomienda en máquinas de
>     desarrollo, pero no en producción) para que se vea el mensaje de
>     error en pantalla como mensaje HTML, pero pienso que es mejor que
>     se queden en los logs y que sólo los administradores "se enteren"
>     de los problemas que hay en la página.
>
>
> Efectivamente, lo mejor es ver en el log qué está ocurriendo y listo :)


Hombre, lo más rápido es verlo en el navegador, y verlo en él no quita 
que también se escriba en el log. Lo que sí que deberíais es, de alguna 
manera (ya que se descartó zabbix) monitorizar los logs para saber 
cuándo se producen errores en la página. A veces nosotros vemos todo muy 
bonito pq lo tenemos todo adaptado a nuestras necesidades pero estamos 
pasando por alto errores que se están produciendo a usuarios "invitados" 
o sin privilegios o, en general, un perfil de usuario diferente al nuestro.

Un saludo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jderobot-admin/attachments/20131127/5c96af40/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : smime.p7s
Tipo       : application/pkcs7-signature
Tamaño     : 2245 bytes
Descripción: Firma criptográfica S/MIME
Url        : http://gsyc.escet.urjc.es/pipermail/jderobot-admin/attachments/20131127/5c96af40/attachment.bin 


More information about the Jderobot-admin mailing list