Efectivamente, mi amigo tafkle, en LANeros.com contamos con varios paneles administrativos especiales en donde contamos con todas las opciones para menajar el sitio... Cosas como mover mensaje, editar mensajes, borrar mensajes, editar encuestas, poner noticias, todo se hace básicamente por la misma interface que ustedes conocen, sólo que a los que tienen permiso, les aparecen nuevas opciones y no les sale la odiosa pantalla NO TIENE PERMISOS PARA VER ESTA PÁGINA....
Por otra parte, hay páneles administrativos en donde generalmente se encuentra todo lo que son opciones... Para editar la configuración del software, editar un usuario, agregar una nueva sección de foros, etc.... A este panel si se necesita permisos de administrador para poder ingresar, aunque es aburrido y largo, con una cantidad de opciones impresionantes que parece que te pierdes en él.
El otrol panel con el que contamos, es el de nuestro servidor... ahí están todas las opciones para crear cuentas de email y POP3, administrar las bases de datos, passwords, dominios, ver estadísticas, cuentas FTP, etc... La capa de seguridad de este panel es distinta a la de los foros, pero es importante mantener esa sección segura... pues cualquier persona que entre a ese panel, con los conocimientos suficientes, puede hacer un... "takeover" a la página... pero eso es otro asunto...
La cuestión de los permisos, es muy sencilla... El software automáticamente cuando vos cargas cualquier página, carga en memoria los permisos que vos tenes en tu sesión.. Osea, yo puedo estar navegando la página como Invitado, y aún siendo yo el administrador de LANeros.com, si el software no tiene dicho que mi sesión tiene permisos administrativos, veré lo mismo que cualquier invitado que entre a la página... PEro al yo loguearme con mi password, el software guarda en memoria los permisos que tengo... Entonces, cuando se necesita ver una página administrativa, existe una condicional que básicamente lo que hace es "frenarme" si no existen permisos administrativos:
PHP:
if ( $permisos['administrador'] == false )
{
mostrar_nopermiso();
exit;
}
// resto del contenido del script
.
.
.
Eso es básicamente lo que sucede cuando aparece el NO TIENES PERMISOS.... Como el elemento 'administrador' del vector permisos estaba en
false, se supone que esa sesión no tiene permisos de administrar, por lo tanto, muestra la pantalla de error, y se sale del programa....
Fácil, no?