Archive for PHP

enero 11th 2013

Detect Mobile Browser – proyecto opensource, detecta y redirige a los navegadores móviles desde tu sitio web

Número de lecturas: 5261
{lang: 'es-419'}

Cada vez los teléfonos móviles tienen más importancia en el diseño web, si hace unos años casi nadie usaba Internet desde el móvil, hoy día es un sector con un enorme crecimiento gracias a modelos como el iPhone o los nuevos Android. Eso nos plantea un problema, pues es difícil crear un sitio web que sea valido tanto para resoluciones de ordenador, como para las pequeñas pantallas de los dispositivos móviles. Y si creamos 2 versiones alternativas nos surgirá otra duda, ¿cómo filtramos a los usuarios según el dispositivo desde el que accedan?

Una respuesta a ese problema nos la da el proyecto Detect Mobile Browser que facilita código libre en diferentes lenguajes de programación (Apache .htaccess, ASP, ColdFusion, JSP, Javascript, PHP, Python y Rails) para redirigir a los usuarios de navegadores móviles a una versión especial de nuestro sitio web, que previamente hayamos adaptado.

El código es simple y claro, por lo que no nos supondrá demasiado esfuerzo integrarlo en nuestros proyectos. Además, usa una lista de navegadores bastante completa y actualizada.

Enlace: Detect Mobile Browser

Fuente:

dglibre.com

diciembre 11th 2012

Instalar el módulo mod_rewrite en Ubuntu 12.10

Número de lecturas: 5331
{lang: 'es-419'}

Si necesitas usar el módulo mod_rewrite de Apache para usar basta con hacer:

sudo a2enmod rewrite

Editar el fichero /etc/apache2/sites-enabled/000-default:

sudo gedit /etc/apache2/sites-enabled/000-default

y cambiar: ‘AllowOverride None’ por ‘AllowOverride All’ en el apartado correspondiente al directorio www.

y luego reiniciar Apache:

sudo /etc/init.d/apache2 force-reload

El módulo mod_rewrite se suele usar para convertir las URL de una web en “amigables” para los navegadores. Por ejemplo para convertir:

index.php?page=main&section=cursos&num=3

a algo como:

main/cursos/3

Esta segunda es más fácil de recordar para los humanos y a los buscadores les gusta más.

Fuente:

http://nideaderedes.urlansoft.com

noviembre 19th 2012

Salto de restricciones con “clickjacking” en Joomla!

Número de lecturas: 2459
{lang: 'es-419'}

Ajay Singh Negi ha descubierto un problema de seguridad en Joomla! que podría permitir a un atacante eludir restricciones de seguridad y ataques de cross-site request forgery (CSRF) a través de la técnica del “clickjacking”

Joomla! es un sistema de gestión de contenidos o CMS, de código abierto y programado en su mayor parte en PHP. Es muy utilizado para la creación de portales y sitios web. La gran cantidad de extensiones existentes y su fácil integración con el sistema proporcionan un gran potencial a este CMS.
CSRF es una técnica que permitiría realizar peticiones HTTP sin una correcta validación. Por ejemplo, imaginemos que un usuario se encuentra validado en una página que necesita autenticación. Desde el navegador, visita otra web que esconde una petición HTTP hacia esa página que necesita validación. Esa petición HTTP, en forma de enlace, se carga por la víctima sin saberlo y realiza una acción sobre la página en la que se encuentra autenticada. Esto sería un fallo de CSRF por parte de la
página que necesita autenticación, puesto que no valida correctamente que las peticiones provengan de sus propia plataforma. Para impedir esto, las páginas suelen introducir un sistema de control que impide que una petición desde otra web sea válida. A su vez, para eludir esto, los atacantes utilizan técnicas como clickjacking (un término acuñado en 2008), que permite realizar ataques CSRF aunque se hayan implementado ciertas técnicas para evitarlo.

El clickjacking puede también ser usado para referirse a cualquier tipo de técnica que implique el que un usuario interactúe con una web creyendo que en realidad lo está haciendo con otra.

El problema es que Joomla! permite a cualquier usuario realizar acciones a través de peticiones HTTP que no son convenientemente validadas. Si un usuario visita un enlace especialmente manipulado hacia una plataforma Joomla!, se podrían realizar acciones sobre el portal y el atacante podría así eludir restricciones de seguridad. No se han dado más detalles sobre la vulnerabilidad, pero probablemente permitiría que un usuario suplantase a otro sin necesidad de conocer la contraseña.

Esta fallo se da en las versiones 2.5.7 y anteriores. Se ha solucionado en la versión 2.5.8 disponible desde www.joomla.org

Fuente:

hispasec.com

noviembre 11th 2012

Los errores de programacion en el sitio para reina de quito

Número de lecturas: 2398
{lang: 'es-419'}

Bueno vale la pena escribir sobre este tema ya que se esta realizando una votación para reina de Quito donde no es nada justo, lo que pasa es que mientras mas veces se aplaste el botón de “votar” sin necesidad de reiniciar la página ni nada.

http://especiales.elcomercio.com/2012/11/reinaQuito/#.UJ8Q0ofAfCc

Entonces la votación se trata de quien este mas desocupado o quien tenga mas paciencia o habilidad para dar clics al botón en un minuto.

Sumando las 5 primeras candidatas hoy 10 de Noviembre tienen cerca de 4,000.000 de votos es decir que es el sitio mas visitado del país !!!!  lo cuál por supuesto no es verdad y se deja esta votación con datos muy poco reales.

Con un debugger se puede apreciar la url de votación por método GET que se esta utilizando:

voto.php?idCandidata=8&voto=1  Se podrá cambiar ese numero por 100 !!

 

Soluciones que se debían tomar en cuenta:

– Probar el sitio antes de ponerlo en producción

– Por lo menos cada vez que pinche un usuario en ese botón el mismo “desaparezca” y muestre un mensaje de agradecimiento (algo sencillo en programación cuestión de 10 minutos)

– Podían obligar a los usuarios  a registrarse en el sitio para que puedan votar y participar por los premios

– Controlar un voto por IP

Con estos pequeños cambios la votación seria más real incluso más interesante y demostraría el verdadero interés sobre el sitio web y las candidatas.

La idea de escribir este post no es el de perjudicar a nadie simplemente que se tomen más tiempo para estos detalles que resultan importantes en una aplicación web.