Ha salido a la luz una nueva versión de php, la PHP 5.2.8, esta versión soluciona un bug encontrado en la reciente versión también publicada 5.2.7 relacionada con el funcionamiento de magic_quotes, bug de seguridad que abría un agujero de seguridad al tener activo “magic_quotes_gpc”
Se recomienda actualizar a dicha versión, y si tienes la versión 5.2.7 y no deseas actualizar aplica el siguiente “parche” a tu php.ini para arreglar el problema de magic_quotes:
Tal como dice en la documentación de PHP, el módulo mod_rewrite es la auténtica navaja suiza de la manipulación de URLs. Esta librería nos permite hacer desde simples redirecciones entre páginas a complejas reescrituras de URLs de nuestros sitios web. Para su utilización es recomendable tener conocimientos básicos en expresiones regulares.
Redirección básica:
Imaginemos la siguiente situación. Hemos creado una página web llamada lista.html pero queremos que los visitantes que escriban listado.html o directorio.html vean igualmente la página lista.html. Se presentan dos alternativas:
a) La solución cutre. Crear las páginas directorio y listado y dentro de ellas hacer una redirección con Javascript al estilo location.href="lista.html".
b) La solución ideal. Hacer una redirección mediante mod_rewrite especificando unas sencillas instrucciones en el famoso archivo .htaccess que se debe guardar en la misma carpeta donde se aloja lista.html. El servidor Apache traducirá ‘listado’ y ‘directorio’ por ‘lista’ sin tener que crear dichas páginas y su correspondiente redirección.
RewriteEngine on
RewriteRule ^(listado|directorio).html$ lista.html [R]
Básicamente, la sintaxis es: RewriteRule patron sustituto [opciones]
[opciones] r -> Mensaje Forbiden 403. L -> Last rule, si tiene exito no ejecutar las siguientes reglas. R[=code] -> Redirección. NC -> No case(no distingue mayúsculas de minúsculas).
Explicación: – “^(listado|directorio)”: nombre de URL que empiece por listado o directorio. – “.html$”: que termine en “.html”.
Pasar de dirección estática a dirección dinámica:
RewriteEngine on
RewriteRule ^colores/([0-9]+)/([0-9]+)/([0-9]+).php$ colores.php?red=$1&green=$2&blue=$3
Donde ([0-9]+)/ significa 1 o más caracteres numéricos seguido de una barra.
Con esta regla conseguiríamos pasar de una URL desagradable como:
colores.php?red=50&green=20&blue=100
a una URL mucho más elegante:
colores/50/20/100.php
Hotlinking:
O cómo evitar que nos roben contenidos y ancho de banda linkando directamente nuestros recursos desde otros sitios web.
Explicación: – El signo ‘!’ significa negación, con lo que decimos que si el REFERER es diferente de nuestro dominio no permitimos enlazar archivos gif, jpg o png. – (www\.)? indica que puede o no haber ‘www.’ en el nombre de nuestro dominio. – El signo ‘-’ hará que no redirija a la vez que [F] hará que se muestre un mensaje de error. Normalmente se redirige a otra imagen de advertencia de que se está haciendo hotlinking, pero eso también nos hace perder ancho de banda. – HTTP_REERER es una variable del servidor que nos dice el valor de la URL que solicita el recurso de nuestro servidor.
La subida de archivos en PHP suele estar limitada a 2 megas por motivos de seguridad. Si no fuese así cualquiera podría subir un archivo de 500 gigas y saturarnos el servidor.
La configuración de estos parámetros se encuentra en el archivo principal de configuración de PHP, el famoso php.ini. En teoría sería tan simple como abrir este archivo y editar a nuestro antojo los valores que nos interesan:
Pero esto no siempre es posible ni recomendable. Si tenemos nuestra web alojada en un hosting compartido no nos van a dejar tocar el archivo php.ini y por otro lado, si tenemos varios dominios o subdominios en el mismo servidor puede que no queramos ser tan generosos en todos. Lo mejor es ser siempre lo más restrictivo posible y habilitar un mayor tamaño de subida únicamente donde nos interesa.
Esto lo podemos conseguir alterando los valores de configuración de PHP mediante un archivo .htaccess.
En primer lugar tenemos que comprobar que tenemos la opción AllowOverride activada ya sea en general o para ese subdominio. Para ello editamos el archivo de configuración de Apache, el famoso httpd.conf.
Si queremos aplicarlo de manera general:
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory>
O en una carpeta concreta:
<Directory «c:/wamp/www/micarpeta»> Options FollowSymLinks AllowOverride All Order deny,allow Deny from allg </Directory>
Una vez configurado Apache, creamos un archivo de texto con el nombre .htaccess que contendrá simplemente lo siguiente:
php_value upload_max_filesize 100M php_value post_max_size 100M php_value max_execution_time 1000 php_value max_input_time 1000
En este ejemplo se ha puesto un límite de subida de 100 megas y a su vez se aumenta el tiempo límite de ejecución del script a 1000 segundos. Será necesario variar el límite de tiempo a un valor razonable para que dé tiempo suficiente para subir el archivo y procesarlo. Mediante este método se pueden modificar muchos más parámetros de configuración de PHP como las global_register y otras pero os dejo que lo investiguéis vosotros.
Si tenemos un grabadora con el sistema LightScribe podemos dibujar mediante el láser una carátula para nuestros discos. Aunque no se ha popularizado en nuestro país, cada vez se venden más equipos con unidades que integran este sistema.
El sistema tiene limitaciones como que solamente quema la superficie de discos diseñados para ello y solamente podemos llegar a conseguir imágenes en escala de grises, aunque se venden discos de diferentes colores.
Antes de nada debemos instalarnos la aplicación LightScribe que está disponible en su página web.
Nos insta a introducir un disco con la cara brillante hacia arriba, es decir, al contrario de como lo hacemos para grabarlo.
Existe una gran diferencia entre la versión para Windows y la que hemos instalado, ya que aunque podemos descargar varios diseños desde la web, nos encontramos con la sorpresa de que solamente nos permite añadir bordes a nuestros discos y poner dos títulos.
No obstante podemos grabar la imagen que deseemos, sustituyendo las ya existentes o creando nuevas plantillas. ¿Cómo?
Podremos acceder al directorio donde se guardan las imágenes mediante nuestro enlace:
cd Diseñador\ LightScribe/content/images/borders/fullsize/
Si no piensas editar como root (administrador), deberemos cambiar el propietario:
sudo chown tu_usuario .
sudo chown tu_usuario *
Ojo, que las imágenes han de estar en formato jpg (aunque en los diseños de la web estén en jpg)
Supongamos que deseamos grabar esta imagen:
Abrimos un editor de imágenes cualquiera como Gimp, modificamos lo que queremos y lo guardamos como png
Tomamos uno de los png que ya existían y los renombramos, nuestro fichero ocupará su lugar.
Por ejemplo fs000005.png, lo que nos indicará que se trata de la quinta miniatura.
Si queremos modificar las miniaturas podemos hacerlo en Diseñador LightScribe/content/images/borders/thumbnails
Previsualizamos, y si no nos gusta como quedan las letras podemos dejarlo en blanco y modificar directamente la imagen.
Todos queremos Gmail. Mucho espacio, una interficie bonita, y muy buenas posibilidades de búsqueda.
En esta guía vamos a montar servidores de reenvío para Hotmail y Yahoo Mail, los cuales reenviaran todos los emails recibidos a nuestra cuenta en Gmail (o cualquier otra cuenta) Hotmail Para Hotmail usaremos gotmail.
emerge gotmail
Gotmail por defecto utiliza ~/.gotmailrc como archivo de configuración.
username= password= forward= delete
Rellenamos la información necesaria. gotmail –help Te dará más opciones para la configuración. Configura lo como quieras. Nota: Si no tienes funcionando Sendmail, Necesitarás especificar un servidor smtp.
Antes de ejecutar gotmail, queremos estar seguros de que nuestra cuenta gmail está lista. Añade un filtro que clasificará todos los archivos con la etiqueta hotmail. Querría también que vayan a alguna carpeta automáticamente, quizás solo para la primera vez que se ejecute gotmail. (todos los e-mails que recivas se guardarán en la bandeja de entrada.)
Con todo configurado, ejecuta gotmail. tomará un rato, pero trás completarse tendrás todos los correos de hotmail en tu cuenta gmail.
Yahoo Mail Para Yahoo Mail, usaremos fetchyahoo.
emerge fetchyahoo
La configuración se encuentra en /etc/fetchyahoorc y está bien comentada.
Deberíamos configurar los mismos filtros que usamos para hotmail antes.
Funciona como gotmail.
Programarlo para que se ejecute automáticamente
Funciona, pero ejecutarlo cada vez que queramos pasar los mensajes es engorroso. ¿Como podemos configurarlo para que está enviando continuamente los e-mails?
Aquí tienes dos soluciones.
Configurarlo con cron Facil y efectivo. Configuralo en el fichero cron.
Configurándolo como servicio o demonio (daemon) En lugar de cron, podemos configurarlo como servicio. Ventajas: Facil configuración, y puede pararse tan facilmente como ejecutarse. Estoy seguro de que debe haber una solución mejor, pero esta es la única que se me ocurre. Requiere: at (el demonio del calendario) .gotmailrc debe moverse a /etc/gotmailrc
#!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/mail-mta/postfix/files/postfix.rc6.2.2.9,v1.1 2006/03/07 21:07:20 ferdy Exp $opts=«${opts} reload»
No es la mejor solución, pero funciona. Ahora podemos ejecutar webmaild como un servicio, y el e-mail será copiado cada 30 minutos
Una alternativa al script previo: /ruta/a/webmaild.sh
#!/bin/sh while[1 == 1]; do gotmail -c /ruta/a/gotmailrc &> /dev/null fetchyahoo &> /dev/null # añade a todos los programas como el anterior &> /dev/null, para que su # salida (de información) vaya a /dev/null en lugar de a la pantalla sleep 30m done
Básicamente se ejecuta en un bucle infinito.
Matándolo o haciéndolo terminar: mata.el.servicio.sh