Sigueme por RSS! RSS

CodeIgniter: protegiendo el core..

El core (contenido de la carpeta system) es el grupo de archivos más importante de CodeIgniter, es lo primero que se ejecuta, es el corazón del framework, toda su importancia radica allí y por seguridad es recomendable apartarlo de la carpeta del servidor, sea (www, htdocs, etc.), ya que esos directorios albergan los recursos que son accedidos desde fuera de nuestro server (internet, intranet, etc.).

De este modo, si nuestro sitio es atacado, el core del framework no será vulnerable, lo que nos dará un punto más en lo que a seguridad se trata.

nota
Para el ejemplo nuestro directorio de servidor es /var/www, estamos bajo ambiente GNU/linux y usamos la versión 2.1.3 de CodeIgniter.
Recuerda siempre respaldar tus proyectos antes de hacer algún cambio.

1.- descargarmos CodeIgniter,  lo descomprimimos en www, luego lo renombramos (yo le coloqué proyecto):

2.- luego, movemos (cortamos para luego pegar) la carpeta system (está dentro de proyecto) a el nuevo directorio (cualquiera fuera del servidor), en mi caso, la situare en /opt; Entonces, tengo mi carpeta de CI (proyecto) en www y el core en opt.
El core en /opt:
/
... opt
...... system

El resto del proyecto: /var/www/proyecto
/
... var
...... www
......... proyecto
............ index.php
............ application

3.- lo siguiente es entrar al index.php de CI, sabemos que todo lo que se carga en el framework debe pasar por el index (incluso, si ocultamos el index.php de la url a través del htaccess), ese archivo es el encargado de cargar el core, así que, debemos indicarle donde debe buscarlo.

una vez abierto el index.php, buscamos la variable $system_path, en mi caso se encuentra en la línea 59.
$system_path = 'system';

cambiamos su valor por la ruta nueva donde colocamos el core, yo lo movi a opt y así queda:
$system_path = '/opt/system';

podriamos incluso, meterlo dentro de otra carpeta o renombrar el directorio system, (ci_core) por ejemplo y quedaría así:
$system_path = '/opt/ci_core';

4.- solo resta guardar los cambios hechos al index.php y probar, no debería haber mayor problema, es importante revisar los permisos del directorio del core una vez que lo movemos.


Si al correr el proyecto, te aparece el mensaje de error: Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php es porque tienes mal seteada la ruta nueva donde se encuentra el core.

Si tienes algún problema, no dudes en comentar.

2 comentarios: Suscribete a los comentarios por RSS

Harian A. Berrocal G.

Buenos días,

Que tal amigo, te escribo para ver si me pueden dar una mano. tengo una aplicación de consulta de información en mi servidor actual pero tengo que mudarme para otro servidor. ya anteriormente pasamos por una mudanza y al realizarla al acceder a la dirección de la aplicacion, nos mandaba un error (Not Found The requested URL /siacap.gob.pa/saldo/auth/login was not found on this server.) lo soluciono el programador de la misma pero no nos dijo que hizo. antes de moverme de servidor estoy probando de forma local en mi PC con wamp y me aparece el mismo error y he hecho todo lo que he encontrado pero no logre que me redireccione a donde debe. he activado el mod-rewrite de apache, probado varios configuraciones de htaccess pero nada. agradezco cualquier ayuda que me puedan dar.

Reinaldo Cassiani (cass)

Hola Harian.
Revisa el archivo config.php para verificar el valor del elemento $config['base_url'] y descartar que tenga un dominio por defecto. Sin el código a la mano no se me ocurre en este momento que más pueda ser, a parte del .htaccess..

Publicar un comentario

- Los comentarios están siendo moderados y serán publicados en la brevedad posible.