martes, 10 de octubre de 2017

Desactivar una de las SIM en un teléfono dual Android

Por primera vez tengo un teléfono dual SIM. Se trata de un Android de la marca BQ al que se le puede insertar una segunda tarjeta SIM. Esto puede ser útil para mantener un número de teléfono personal y otro del trabajo sin tener que llevar dos teléfonos o si tenemos dos tarjetas con distintas tarifas y queremos usar una u otra dependiendo del momento.

En mi caso, tengo dos tarjetas SIM de la misma compañía y en caso de que se me acaben los minutos de la primera, entra en juego la segunda. Esto no me pasa a menudo y si me pasa, suele ser a final de mes por lo que tener la segunda tarjeta activa todo ese tiempo, me parecía una tontería además de un gasto de batería.

Por suerte, existe una pantalla de configuración entera para las preferencias de las tarjetas SIM en la que se puede elegir qué tarjeta queremos usar por defecto para las llamadas, los datos y los mensajes cortos SMS.

En la versión 7 de Android, Android Nougat, en la pantalla de configuración, encontramos esta opción casi arriba del todo: "SIM Cards"


Ahí encontraremos la opción para desactivar una de las SIM y así ahorrar algo de batería hasta que de verdad nos haga falta usarla, o si queremos desactivar la tarjeta del trabajo fuera de las horas laborales.

sábado, 7 de febrero de 2015

IP estática en Raspberry Pi

Para definir IP estática en nuestra Raspberry hay que seguir los siguientes pasos:

El comando ifconfig nos da la configuración actual de la red. Si no tienes instalado hay que ejecutar lo siguiente.
>sudo apt-get install wireless-tools
>sudo ifconfig -a

De ahí obtendras la IP actual asignada.

A continuación hay que editar el archivo /etc/network/interfaces
Podemos hacer una copia para no perder la configuración actual
>cd /etc/network
>sudo cp interfaces interfaces_old
>ls

Editar archivo
>sudo nano /etc/network/interfaces


Localizamos la linea que pone:

iface eth0 inet dhcp 

y la sustituimos por esto

iface eth0 inet static
address 192.168.1.41
netmask 255.255.255.0
gateway 192.168.1.1

Los datos son los siguientes:
- 192.168.1.41 es la IP fija que se va a asignar
- 255.255.255.0 es la máscara de la red
- 192.168.1.1 es la IP del router

Sutituir también la primera línea del archivo

auto lo

Por esta línea

auto eth0



jueves, 9 de octubre de 2014

Contraseña por defecto de un router NETGEAR

Para la mayoría de dispositivos NETGEAR los datos de usuario y contraseña por defecto son los siguientes:

Username: admin
Password: password

Para routers antiguos el password es: 1234

martes, 7 de octubre de 2014

Problema con la sesión de Skype: siempre online

¿Apareces siempre conectado en tu cuenta de Skype?

Puede que tengas la cuenta de Skype asociada al correo de Hotmail o la cuenta de Facebook y tengas abierta la sesión a través de estas aplicaciones.

Pero si no es así, lo más probable es que la sesión de tu cuenta se haya quedado abierta por iniciar sesión en tu móvil o en otro PC.

Para comprobar si hay otras sesiones abiertas hay que escribir en el chat de cualquier persona (no le llegará nada al destinatario):

/showplaces

Este comando muestra todos los dispositivos donde está iniciada la sesión.


Si aparecen más de un dispositivo, debes cerrar la sesión en el resto ejecutando este comando:

/remotelogout

Cierra la sesión en todos los dispositivos excepto en el actual.


Ya no aparecerás siempre conectado.


miércoles, 1 de octubre de 2014

Restringir el valor de un campo en un formulario con jQuery Mask Plugin

Para restringir los valores al rellenar un formulario HTML se puede usar el plugin jQuery Mask Plugin

Haciendo uso de las nuevas funcionalidades de HTML5 y cambiando el valor del atributo "type" a "number"
<input type="number" name="hours" id="hours"> realiza una validación al enviar el formulario, pero antes de eso, te ha permitido introducir una serie de letras en el input.

Con jQuery Mask Plugin, solo permite introducir valores posibles definidos en la máscara que se le ha asignado al input.

Os dejo un ejemplo siguiendo la función 'On-the-fly mask change' de la documentación para restringir el valor de un campo al número de horas (0-24). Es necesario incluir jQuery y jQuery Mask

Ejemplo en JSFiddle aquí

<script type="text/javascript"  
src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript"  
src="js/jquery.mask.min.js"></script>

<input id="hours" type="text" value="" name="hours" >

<script  type="text/javascript>
var options_hours = {
    'translation': {
        3: {
            pattern: /[0-2*]/,
            optional: true
        },
        4: {
            pattern: /[0-4*]/
        }
    },
  
    onKeyPress: function (cep) {
        var masks = ['30', '24'];
        if (cep.length > 1) {
            var first_number = cep.substring(0, 1);
        } else {
            var
first_number = "";
        }
        mask = (
first_number == '2') ? masks[1] : masks[0];
               
        $('#hours').mask(mask, this);
    }
};

$('#hours').mask('30', options_hours);


</script>



miércoles, 30 de julio de 2014

Crea tu primera aplicación con PhoneGap

Para crear tu primera aplicación con PhoneGap hay que seguir los siguientes pasos:
  1. Instalar NodeJS. Desde la versión 3.0 e PhoneGap la instalación se realiza mediante NodeJS. Descargar el instalador desde la web de NodeJS y seguir los pasos de instalación.

  2. Una vez instalado NodeJS abrir un terminal y ejecutar el siguiente comando.
    > npm install -g phonegap
    Con esto se habrán descargado desde el repositorio oficial todos los paquetes necesarios para crear aplicaciones con PhoneGap

  3. Desde el terminal, nos dirigimos al directorio donde se vamos a crear nuestra aplicación. Desde ahí ejecutamos el siguiente comando.
    > phonegap create my-first-app

    Comprobamos que se ha creado un directorio my-first-app
    >cd my-first-app
    >dir


    Comprobamos que dentro de este directorio tenemos 4 nuevas carpetas: hooks, platforms, plugins, www

  4. Para compilar la aplicación de forma remota mediante PhoneGap Build para la versión de Android, ejecutamos el siguiente comand. Nos pedirá un usuario y contraseña
    > phonegap remote run android

    Esta acción nos devuelve un código QR . Con esta compilación, no disponemos de la aplicación en local, se ha generado de forma online con la plataforma PhoneGap Build.

    La aplicación remota la podremos ver en la página de Adobe PhoneGap Build. Para compilar con PhoneGap Build necesitamos disponer de cuenta de ID de Adobe o de GIT. Con la cuenta gratuita PhoneGap Build solo nos permite subir una aplicación. También se puede subir la aplicación directamente desde la página subiendo en un ZIP la carpeta www de la aplicación, en vez de hacerlo por línea de comandos.

  5. Para ejecutar la aplicación en local
    > phonegap local run android
    Se abrirá un emulador que cargará la aplicación si no hay ningún emulador ya ejecutándose.

NOTA 1: También se puede ejecutar para otras plataformas (en este caso iOs) con el comando
> phonegap run ios


NOTA 2: Para ejecutar la aplicación en Android, deberemos tener instalado el SDK de Android y configuradas las siguientes variables de entorno:

ANDROID_HOME = C:\ADT\adt-bundle-windows-x86_64-20140702\sdk
ANDROID_PLATFORM_TOOLS = C:\ADT\adt-bundle-windows-x86_64-20140702\sdk\platform-tools
ANDROID_TOOLS = C:\ADT\adt-bundle-windows-x86_64-20140702\sdk\tools
ANT_HOME = C:\apache-ant-1.9.4-bin\apache-ant-1.9.4

Incluir estas variables en el PATH

PATH = %ANDROID_HOME%\tools;%ANDROID_PLATFORM_TOOLS%;%ANT_HOME%\bin;

Atención: la versión de ant debe ser superior a 1.6

NOTA 3: Es necesario tener instalado GIT en nuestro PC, sino durante la instalación de PhoneGap nos aparecerá un error. 

NOTA 4: Si aparece el error Failure [INSTALL_FAILED_OLDER_SDK] hay que comprobar que la versión de android:minSdkVersion="" del fichero AndroidManifest.xml es igual o menor a la API con la que se ejecuta el emulador donde se instala la aplicación y que dicha API está instalada en nuestro ordenador.

 




martes, 24 de septiembre de 2013

Ejecutar Dolphin como root

Muchas ocasiones, cuando voy a hacer algn cambio desde el navegador de OpenSuse (Dolphin) me encuentro con que no tengo suficientes permisos ya que necesito ser root

Una alternativa es hacer las acciones desde la consola, por lnea de comandos. Pero si queremos hacerlo en modo grfico, es posible ejecutar Dolphin o el explorador de archivos con permisos de root o administrador

Desde la consola escribimos

kdesu dolphin

introducimos el password de root y listo, Dolphin con permisos de administracin

ACTUALIZACIN:

Tambin se puede arrancar desde el escritorio:


  1. Desde el botn de inicio, escribimos 'dolphin' y en la segunda opcin nos aparecer el administrador de archivos en 'super user mode'
  2. Si no tambin se puede buscar en Aplications > System > File Manager >

Configuarcin y seguridad de MariaDB (MySQL) en OpenSUSE

La instalacin de MySQL en OpenSUSE es muy sencilla, incluso es muy posible que venga preinstalado en muchas instalaciones. De lo contrario, abre YaST, y en la opcin de administracin de software, busca los paquetes escribiendo "mysql" en el campo de bsqueda. Te debern aparecer todos los necesarios (ten en cuenta que la versin que se instalar es MariaDB, una ramificacin del original MySQL, pero de los mismos autores).
Muy posiblemente tambin te aparecern otros paquetes como el mdulo de PHP para MySQL o phpMyAdmin, para gestionar tu base de datos desde el navegador. Si ests interesado, instalalos tambin.


Pero no es la instalacin lo que quiero comentar ahora, si no la configuracin inicial y como asegurar la instalacin.

El archivo de configuracin se aloja en 

/etc/my.cnf

y ah podremos, entre otras cosas, cambiar la ubicacin donde se guardarn las tablas de mysql o los puertos de escucha. Est todo muy bien documentado, as que leyendo se podr sacar mucha informacin.

datadir = /var/lib/mysql

Para hacer nuestra instalacin ms segura, se puede ejecutar el script 

mysql_secure_instalation

que nos guiar a travs de una serie de preguntas para crear una password para el usuario root (por defecto no hay contrasea), borrar las tablas de prueba, eliminar a los usuarios annimos o denegar el acceso remoto para la administracin, todo ello cosas recomendables.

lunes, 23 de septiembre de 2013

Enlaces a algunos frameworks HTML que pueden ser interesantes

He vivido ajeno al mundo de los frameworks HTML hasta que descubrí Bootstrap. Desde entonces no he hecho más que encontrar y descubrir otros tantos, con sus propios componentes listos para usar, sin tener que toquetear el CSS y los distintos estilos, algo muy interesante si no eres un gran diseñador (me incluyo).

Simplemente voy a poner una lista de ellos, para tenerlos presentes y como referencia para un futuro:


Aunque algo distinto, esta tabla o 'grid' parece bastante interesante también si lo que buscas es ese tipo de componentes:

jqGrid

Para móvil, tenemos jQuery Mobile que funciona únicamente con JavaScript. Hay otros frameworks, quizá más potentes, pero también más complejos que ofrecen un desarrollo en HTML, JS y CSS que luego irá compilado en formato de aplicación para las distintas plataformas móviles. Titanium es un buen ejemplo de una de ellas

miércoles, 4 de septiembre de 2013

Webex no me funciona en OpenSuse: SOLUCIÓN

Ayer abr por primera vez una sesin de Webex desde OpenSuse y para mi sorpresa, aunque todo cargaba y poda ver a los participantes, no era capaz de ver la pantalla compartida, con lo que me quedaba fuera completamente.

Gracias a algn consejo de entendidos en el tema y de este post, he descubierto una serie de libreras que deben estar instaladas para que Webex funcione correctamente en OpenSuse.

Aqu dejo la lista (ejecutar con sudo si fuera necesario), que en teora aplica para la versin 12.3 64-bit, mi caso:

zypper in libpango-1_0-0-32bit libpangomm-1_4-1-32bit libpangox-1_0-0-32bit libgtk-2_0-0-32bit libgtk-3-0-32bit libglib-2_0-0-32bit libXau6-32bit libXmu6-32bit libxcb1-32bit_64 libXext6-32bit

Yo todava no lo he probado, pero espero que la prxima sesin de Webex funcione como la seda

viernes, 30 de agosto de 2013

Cmo usar el lector de PDF por defecto de Chromium (Linux...)

Desde que tengo Chromium (en OpenSuse) no me haba dado cuenta, pero ayer apreci que los archivos PDF no se visualizaban en el navegador, si no que se descargaban automticamente. Esto aplica tanto para los enlaces directos a ficheros PDF como para PDFs que se cargan en iframes dentro de una pgina, el resultado es el mismo: la descarga del fichero.

Investigando descubr que mientras Chrome (versin que se instala en Windows) y Chromium hay ciertas diferencias y una de ellas es que el primero tiene un lector de PDF integrado por defecto, mientras que el segundo, no lo tiene. La solucin es descargar el primero, coger el fichero (que es un plugin de Chrome) y meterlo en la carpeta de plugins de nuestro Chromium.

Paso a paso:

  1. Descargar la ltima versin de Google Chrome en desarrollo:
    • http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb
    • http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_amd64_deb
  2. Extraer los contenidos del paquete y localizar el fichero libpdf.so en el directorio /opt/google/chrome
  3. Copiar dicho archivo a /usr/lib/chromium-browser/  o /usr/lib64/chromium-browser/ o el directorio donde est instalado chromium (no s como se puede saber eso...). Harn falta permisos de administrador muy posiblemente, as que yo te recomiendo que lo hagas desde la consola con el comando sudo cp. De lo contrario tendrs que abrir el explorador (dolphin, nautilus...) con permisos de administrador.
  4. Reinicia Chromium (o brelo si ya estaba cerrado) y ve a la direccin "about:plugins", sin las comillas. Una vez ah, localiza el plugin de PDF y actvalo
Listo!

Fuente (en ingls).


En esta otra pgina (en ingls tambin) dan un mtodo alternativo, pero la verdad yo no lo he probado puesto que me funcion el primero


lunes, 18 de febrero de 2013

Como apagar Raspberry Pi desde línea de comandos

Raspberry Pi no tiene ningún botón de encendido y apagado pero no por ello debemos tirar del cable sin más: esto puede causar grandes problemas, siendo el mayor la corrupción de los archivos de la SD y el tener que volver a instalar todo de nuevo para que arranque.

Desde XBMC está la opción apagar en la interfaz de usuario

Desde la línea de comandos se puede utilizar para apagar:

sudo shutdown -h now
o para reiniciar:
sudo reboot -f

miércoles, 30 de enero de 2013

Canción de duración específica

Quizá esto se salga un pelín de la temática del blog, pero me ha parecido tan útil, y no deja de estar relacionado con los ordenadores e internet, que no puedo por menos que compartirlo.

Estaba buscando una canción de una duración específica para poner en un vídeo, cuando di con esta solución en un foro: poner en la búsqueda de Google

inurl:newgrounds.com/audio/listen +"1 min 0 sec"

dónde lógicamente 1min 0sec es la duración que desees para tu canción. En este sitio (newgrounds.com) hay montones de pistas de audio y así sacaremos las que tengan una duración determinada. Ya sólo hay que elegir la mejor.

Si alguien tiene otro método, soy todo oídos.

viernes, 25 de enero de 2013

Empezando de cero con CodeIgniter

Ayer quise empezar un nuevo proyecto PHP con el framework CodeIgniter. Como otras tantas veces, no me acordaba en absoluto de como se hacía pero al ir recordándolo, me lleve una grata sorpresa al ver cuan fácil es comenzar un proyecto codeigniter

Los pasos a seguir para una primera instalación son:

  1. Descargar desde su página oficial

  2. Descomprimir y colocar en la carpeta del servidor, ya sea en local o subiéndolo a la red vía ftp, por ejemplo. El archivo 'index.php' debe quedar en el directorio raíz de nuestro servidor web

  3. Abrir el archivo 'application/config/config.php' y editarlo para configurar la 'base_url' que será la dirección web donde estará nuestra aplicación:
    $config['base_url']= 'http://midominio.com/misubcarpeta';
  4. Si se va a usar una base de datos con la aplicación, también hay que abrir 'application/config/database.php' y editarlo para introducir la información de nuestra página.

Y eso es todo. Al abrir la URL que hemos indicado en el paso 3 debería de aparecer la página de bienvenida de CodeIgniter informándonos de que ya podemos empezar a trabajar cuando queramos.





martes, 15 de enero de 2013

Raspberry Pi no entra en el televisor

Ya tenemos una raspberry pi en nuestras manos, o como amistosamente la denominamos: Raspi. Raspberry pi es la placa de bajo coste que hace de ordenador y que te podrá solucionar muchas de las tareas que te solucionaba ese servidor que tenías encendido 24h en casa: podrás emplearlo para descargar, para tener discos duros en red, lo podrás utilizar como media center o incluso para fabricarte una televisión inteligente o "smart tv" casera. Rapsberry Pi es la caña, en otras palabras.


Sin embargo, el primer problema que tuvimos cuando lo enganchamos a la televisión a través de su cable HDMI fue que la imagen estaba recortada. Por cada margen nos perdíamos un trocito de imagen y aunque no era demasiado, es un rollo y más si lo quieres utilizar para ver la televisión, películas o series. Intentamos cambiar la relación de aspecto del televisor y probamos con las diferentes resoluciones de salida de Raspberry Pi, pero ninguna cuadraba con la pantalla de la televisión. Pensando que no tenía solución y que era un problema debido a la televisión que ya es algo antigua casi lo dejamos pasar hasta que encontramos la solución al problema: se puede ajustar la salida de vídeo!

Entramos en la configuración de Raspberry Pi y buscamos "Video Output" que no recuerdo si está entre las primeras opciones o si hay que acceder a alguna antes. Y ahí, la tercera o cuarta opción nos permite configurar el aspecto que tendrá la salida de vídeo en nuestro monitor ajustando las esquinas, situando la posición de los subtitulos y redibujando la relación de aspecto.


Enlace: Raspberry Pi

lunes, 26 de noviembre de 2012

Si actualizas SVN y tienes copias locales anteriores, posiblemente te encuentres con que no puedes sincronizar con los repositorios.

En concreto, si actualizas SVN en eclipse y sincronizas, te encontrars con este error:


org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)



La manera ms sencilla de solucionar este problema es botn derecho en los proyectos que necesiten actualizar, Team y Upgrade 

martes, 13 de noviembre de 2012

Imprimir en tu ordenador desde cualquier sitio: Google Cloud Print

Hoy Google me vuelve a impresionar con su servicio Google Cloud Print que permite imprimir documentos desde cualquier sitio en tu impresora de casa o de la oficina, como si estuviera conectada ahí mismo.



Varias veces me he tirado en casa horas configurando todos los ordenadores para que estuvieran en red, para que la impresora estuviera disponible en todos ellos, que hubiera visibilidad y que funcionara todo correctamente: elegir la impresora, darle imprimir y recoger el documento. Pues bien, todo este trabajo ya no es necesario con el nuevo servicio de Google: es suficiente con tener Chrome instalado (sí, todo funciona a través de Chrome), configurar las impresoras y  a correr.

Para configurar las impresoras en tu cuenta de Google:

  1. Abrir google Chrome (¿no lo tienes? Descargalo)
  2. Abrir el menú (arriba a la derecha) y elegir Settings (u Opciones)
  3. Abajo del todo, hay un link que dice "Mostrar opciones avanzadas", hacer click ahí.
  4. Bajar hasta Google Cloud Print y registrarse en el servicio (no hay que hacer nada, sólo darle al botón).
  5. Una vez registrado, podrás administrar tus impresoras. Automáticamente se importan todas las impresoras que tengas en el ordenador en el servicio. 
Una vez que tienes las impresoras configuradas, puedes administrarlas, añadir otras (desde otros ordenadores), cambiarles el nombre, eliminarlas... Y una de las mejores cosas: compartirlas! Sí, comparte una impresora con quien quieras y esta persona podrá imprimir directamente en tu impresora: bastante increíble no?

Esta mañana he estado haciendo un par de pruebas y funciona bastante bien: he probado yo a imprimir desde la misma red, en otro ordenador y también he pedido a otra personas que imprimiera algo una vez que le había compartido la impresora: como por arte de magia, la impresora ha empezado a trabajar y ha impreso lo que desde otro sitio completamente distinto le han mandado. Fascinante

Pero aquí no acaba todo. Tiene más ventajas: se puede imprimir desde el móvil. Actualmente está algo limitado puesto que un móvil no tiene la opción "Imprimir" como aparece en un ordenador por todos lados por lo que hay que instalarse una aplicación intermedia. Creo que hay varias aunque yo la que he usado es Cloud Print, que recomienda google en su propia página. La aplicación puede imprimir directamente al abrir un documento que tengamos en nuestro móvil o a través de la opción "compartir...", se comparte con la aplicación y esta nos da a elegir la impresora con la que queremos imprimirlo e incluso las opciones de impresión (blanco y negro o color, apaisado o no, dos caras por hoja, doble cara...). También lo he probado, he impreso un PDF mientras comía y al llegar al despacho ahí estaba impreso en papel.

Para imprimir desde el móvil también se puede hacer a través de Google Drive u otras aplicaciones de Google, pero para imprimir cualquier cosa, hay que instalar una aplicación como la que acabo de comentar.

Sin duda me encanta este servicio y aunque quizá ahora esté algo emocionado por ser una novedad, creo que lo usaré bastante en el futuro.

Una pega que tiene es que tiene que estar Chrome abierto para poder imprimir ya que la conexión con la impresora se realiza a través de este programa.
Otra pega es que funciona muy bien para imprimir cosas desde Chrome (páginas web, PDFs...) o desde aplicaciones web de Google, igual que pasa con el móvil, pero para imprimir cualquier documento de nuestro ordenador es algo más complicado: hay que ir a la página del servicio, darle imprimir y elegir el archivo para que se suba al servidor y se mande a la impresora seleccionada.

Una cosa más que hecho en falta (están en beta, supongo que esto evolucionará) es una opción para permisos: es decir poder elegir si alguien puede imprimir libremente o bajo tu supervisión una vez que has compartido una impresora. Cuando alguien quisiera imprimir tu recibirías un email o una notificación en el móvil y de esta manera confirmas la impresión o la rechazas antes de que se haga todo automático.

Aún así, como ya he dicho, me ha gustado bastante el servicio

miércoles, 24 de octubre de 2012

Enviar emails con Codeigniter y Gmail

Sigo aprendiendo como funciona Codeigniter y hoy una de las cosas que he aprendido y me ha gustado es la simplicidad para mandar correos electrónicos.

Una de las limitaciones que tenía hasta ahora cuando probaba en local es que no podía mandar correos por no tener ningún servidor montado. Seguramente haya otras posibilidades, pero tampoco me había molestado en aprender.

Hoy, con codeigniter, he conseguido mandar emails desde mi propio ordenador a través de mi cuenta de gmail, en tan solo unos minutos:


  1. Para empezar, hay que crear un archivo de configuración llamado "email.php" (tiene que llamarse así exactamente) y que esté situado dentro de la carpeta de configuración.
    En este archivo colocaremos las propiedades del servidor de correo que serán algo así:

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    $config['protocol'] = 'smtp';
    $config['smtp_host'] = 'ssl://smtp.googlemail.com';
    $config['smtp_port'] = 465;
    $config['smtp_user'] = 'youremail@gmail.com';
    $config['smtp_pass'] = 'yourpassword';
    $config['smtp_timeout'] = '7';
    $config['charset']    = 'utf-8';
    $config['newline']    = "\r\n";
    $config['mailtype'] = 'text'; // or html
    $config['validation'] = TRUE; // bool whether to validate email or not

  2. Segundo, tenemos que cargar la librería en el lugar donde queramos enviar el email:

    $this->load->library('email','','correo');

  3. Y por último preparar el email para enviar

    $this->correo->from('noreply@yourdomain.com', 'Your Name');
      $this->correo->to('toemail@gmail.com');
      $this->correo->subject('This is an email test');
      $this->correo->message('This is the body of the message');
    if($this->correo->send())
      {
       echo 'Correo enviado';
      }
    
      else
      {
       show_error($this->correo->print_debugger());
      }

  4. Y eso es todo! Correo enviado

martes, 23 de octubre de 2012

Añadir la extensión .html a algunas páginas de Codeigniter

En la configuración de codeigniter, en el archivo config.php, tenemos la opción de añadir una extensión a todas las páginas de nuestra aplicación de manera que la página

/pagina/de/contacto

se convierta en

/pagina/de/contacto.html

Pero esto tiene la pega de que se aplicará a cualquier URL de la aplicación y a lo mejor no queremos que esto sea así.

Si sólo queremos añadir el sufijo a algunas páginas, pero que siga funcionando el motor de codeigniter, podemos añadirlas en el archivo de routes.php. Por ejemplo podría quedar de la siguiente manera

$routes['/pagina/de/contacto.html'] = "nuestro_controlador/contacto"

También se pueden poner expresiones regulares del tipo


$route['^([^\/]*).html$''pages/view/$1'

martes, 18 de septiembre de 2012

Protección de directorios web a través de .htaccess

Esta sea quizá la manera más fácil de proteger un directorio web de la vista del público en general. Al intentar acceder, saltará una ventana pidiendo que se introduzca un usuario y una contraseña con un mensaje personalizado:


Este tipo de protección se realiza a través de los archivos .htaccess situados en cada directorio. Se ha de tener cuidado pues de colocarlo en el directorio erróneo, podremos bloquear el tráfico a toda nuestra página.

Para proteger un directorio de esta manera, deberemos subir al mismo el archivo .htaccess (con FTP, directamente a través de la línea de comandos...) con el siguiente contenido:

AuthUserFile /usr/www/dirname/.htpasswd
AuthGroupFile /dev/null
AuthName "The Secret Page"
AuthType Basic

<Limit GET POST>
require valid-user
</Limit>

Este archivo indicará que el directorio está protegido y que los diferentes usuarios y contraseñas se encuentran en el archivo /usr/www/dirname/.htpasswd
Por supuesto deberemos sustituir ese valor por el correspondiente a nuestro caso, pero con cuidado que sea el correcto, de lo contrario nada funcionará. El valor de este campo debe ser la ruta al archivo .htpasswd desde la raíz de nuestro servidor.
En los servidores web de los que no seamos administradores, deberemos conseguir esta ruta, bien a través del comando pwd en la línea de comandos o bien con algún script en PHP o bien preguntando al servicio técnico de tu hosting.

Una vez tenemos el archivo .htaccess deberemos crear el .htpasswd. Para ello existen dos maneras: a través de la línea de comandos o con una herramienta online (lee más abajo).

  • Línea de comandos

Si tienes acceso a tu servidor, probablemente prefieras hacerlo así, pues es bastante sencillo y tienes mayor flexibilidad. Para ello, en el directorio que desees proteger introduce el siguiente comando:
htpasswd -c .htpasswd usuario
Donde deberás sustituir usuario por el nombre que desees utilizar. A continuación se te pedirá la contraseña y que la repitas y listo. Se habrá creado el archivo .htpasswd con el contenido que deseamos.

Ya lo puedes probar para ver si todo funciona correctamente.

Si quieres añadir más usuarios, hazlo a través del comando
htpasswd .htpasswd usuario
y se añadirán.


  • Herramienta online
Si no tienes acceso a la consola, puedes acceder al sitio http://tools.dynamicdrive.com/password/ y seguir los pasos que ahí se indican para generar el archivo .htpasswd que luego habrás de subir a tu servidor.



Fuente: http://www.technotrade.com/htaccess.html