[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