Estuvimos fuera de servicio por un día…

Desde el pasado Lunes 28 de Enero del 2013 sourcezilla.com estuvo fuera de servicio, la razón fue que el servidor donde se encuentra alojado sufrió algunos inconvenientes.

Ayer 29 de Enero aproximadamente a la 1pm de la tarde (horario de México) la empresa que nos brinda el servicio de hospedaje pudo reparar el servidor y así volvimos a las andadas.

Sin embargo mucha información se perdió en el proceso debido a que el daño fue en el disco duro. El ultimo respaldo que se había realizado, fue del 22 de Enero, así que muchos de los comentarios y posts fueron eliminados permanentemente.

Ofrezco una disculpa a todos, tanto redactores como visitantes.

Pero seguiremos trabajando para recuperar esa información.

loading...

Escrito por pedgarc

Soy estudiante de Ciencias Computacionales de la Universidad Autónoma de Nuevo León y desarrollador de software enfocado a la web, especialmente, carritos y tiendas electrónicas.

7 Comentarios

Deja una respuesta
  1. Ayer visite tu pagina y pense que sourcezilla no funcionaria por mucho tiempo y dije “no no puede ser” jejejejejeje y yo que tenia una duda pero bueno aqui estan de nuevo y dejare mi duda de una vez.

    mira lo que pasa es que yo quiero que cierto usuarios que estan logueados tenga acceso a ciertas partes de la pagina por ejemplo yo estoy logueado y yo solo quiero tener acceso a todos los enlances que tiene los datos que hice en codigniter si no que tengo varia tablas y solo quiero que esos usuarios solo puedan ingresar a una y no alas demas.

    ejemplo en la base de datos esta logueado el usuario David y quero que hace usuario le muestre solo lo que tiene la ciudad santiago de chile y no la otras ciudades que a mi me aparecen todas con su datos .

  2. Hola Sanchez, soy junto con pedgarc el otro administrador del sitio, referente a la duda que planteas, te voy a decir la forma que yo lo hago, pero no es la única, pedgarc a lo mejor te da otra idea.
    La forma que lo hago segun entendi tu pregunta es la siguiente:
    Lo mas conveniente seria crear una tabla que se llama privilegios, donde tendría un id, nombre del privilegio y una descripcion, donde los privilegios puedieran ser administrador, consultor, invitado y cada uno de estos tuviese acceso a una parte de la web, seria algo como esto:

    CREATE TABLE IF NOT EXISTS privilegios (
    id_privilegio smallint(6) NOT NULL AUTO_INCREMENT,
    name_privilegio varchar(20) CHARACTER SET latin1 NOT NULL,
    description_privilegio text CHARACTER SET latin1 NOT NULL,
    PRIMARY KEY (id_privilegio)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

    luego una tabla usuarios, con relacion de 1 a 1, o 1 a muchos con la tabla privilegios, cosa que cada usuario tenga asociado un privilegio. Despues que tengas esto, si tienes un menu con diferentes secciones de la pagina y a la vez estas secciones hacen referencia a tablas distintas como por ejemplo, ciudades, cuando pinches en ciudades te saldria una tabla con las ciudades, otra podria ser, estados, cuando pinchas estados, te sale una tabla con los estados y asi sucesivamente, pues podrias hacer lo siguiente:

    session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] == 1)) { ?>
    <a href="”>Administradores

    session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] == 2)) { ?>
    <a href="”>Ciudades

    session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] == 3)) { ?>
    <a href="”>Estados

    donde el privilegio 1 lo tendrían los administradores, el 2 seria para los consultores y el 3 para los invitados y asi.
    Con esto verificas que si el usuario esta logueado y pertenece a un privilegio pues verá aquello el privilegio le permita, ya eso lo defines tu. Esto te da la ventaja de que puedes restringir el acceso no solo a estas partes de la pagina, sino tambien dentro de una misma tabla que por ejemplo el administrador pueda insertar, actualizar, eliminar y listar la tabla, mientras que el consultor solo pueda listarla, esto que te menciono ya se haria en el controlador de la siguiente forma:

    public function usuario_management() {
    try {
    /* This is only for the autocompletion */
    $crud = new grocery_CRUD();
    $crud->set_table(‘miembros’);
    $crud->set_subject(‘Usuario’);
    $crud->display_as(‘username’, ‘Nombre de Usuario’)
    ->display_as(‘firstname’, ‘Nombre’)
    ->display_as(‘lastname’, ‘Apellidos’)
    ->display_as(‘password’, ‘Contraseña’)
    ->display_as(‘id_privilegio’, ‘Privilegio’);
    $crud->required_fields(‘firstname’, ‘lastname’, ‘username’, ‘password’, ‘id_privilegio’);
    $crud->change_field_type(‘password’, ‘password’);
    $crud->set_relation(‘id_privilegio’, ‘privilegios’, ‘name_privilegio’);
    if (isset($this->session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] != 1)) {
    $crud->unset_add();
    $crud->unset_delete();
    $crud->fields(‘username’, ‘password’);
    $crud->where(‘id_miembro’, $this->session->userdata[‘id_miembro’]);
    }
    if (!isset($this->session->userdata[‘logged_in’])) {
    $crud->unset_operations();
    $this->show_login($error=null);
    }
    $crud->order_by(‘firstname, lastname’);

    $output = $crud->render();
    $this->_main_output($output);
    } catch (Exception $e) {
    show_error($e->getMessage() . ‘ — ‘ . $e->getTraceAsString());
    }
    }

    en este caso que acabo de poner lo que es que si el usuario esta logueado, pero el privilegio que tiene es distinti de 1 o sea de administrador, pues le quito la posibilidad de insertar y eliminar, pero si la mantengo la de actualizar, esto es un ejemplo hipotetico.
    Si tienes alguna duda con lo que acabo de poner lo preguntas y te responderemos lo mas rapido posible.
    saludos

  3. Vuelvo a poner el primer código porque omití alunas cosas.

    session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] == 1)) { ?>
    <a href="”>Administradores

    session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] == 1)) { ?>
    <a href="”>Ciudades

    session->userdata[‘logged_in’]) && ($this->session->userdata[‘id_privilegio’] == 1)) { ?>
    <a href="”>Estados

    aclarar que estos datos de nombre de usuario, id de privilegio están en la variable sesión.

  4. no se por que cuando escribo (isset($this->session me omite esto (isset($this-> pero bueno eso es lo que va delante de la palabra session

  5. listo amigo lo puede resolver con muchos problemas en el codigo pero lo pude hacer.
    pero seria bueno un totorial de esto no quedaria nada mal la verdad seria muy bueno que crearan algo llamado “Login y Permiso de cierto usuarios”

  6. Me alegro que lo hayas podido resolver, y después voy a hacer un tutorial y junto con eso voy a subir un pequeño proyecto mostrando como se hace para que lo descarguen y lo puedan ver mejor.
    ya sabes cualquier duda coméntala e intentaremos resolverla en el menor tiempo posible.
    saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *