Tag: PHP

Clase datetime

by Desendoll on Ene.25, 2010, under PHP

PHP 5 nos ofrece ciertas clases que nos pueden facilitar nuestro código. A menudo estas clases pasan inadvertidas y nos es difícil sacarles rendimiento.

Una de ellas es la clase date dime, que nos permite operar con fechas de una manera mas cómoda y eficiente que con la clásica función date() o time().

La clase datetime te permiten obtener la fecha y hora del servidor donde se están ejecutando tus scripts PHP. Se pueden utilizar sus funciones para dar multitud de formatos a estas fechas.

Cada componente de la fecha (año, por ejemplo) se almacena internamente como número de 64 bits incluso es compatible con años negativos.

Ejemplo:
1. Configuramos la zona horaria (ej: españa)
date_default_timezone_set(‘Europe/Madrid’);

2. Creamos un objeto datetime
$datetime->new DateTime();

3. Mostramos fecha actual
echo $datetime->format(‘d-m-Y’);

4. Incrementamos un año
$datetime->modify(‘+1 year’);

Mas información en el propio manual de PHP

Leave a Comment :, , , , , more...

Volviendo de vacaciones

by Desendoll on Sep.15, 2009, under Opiniones

Después de bastantes días de vacaciones volveré a subir artículos al blog. Durante el periodo vacacional siempre aparecen proyectos, dudas o reflexiones. La primera la utilización o creación de un sito de “acortamientos” de links y la segunda si realmente es importante dominar los Frameworks o aplicaciones ya programadas.

A lo primero, encontré un script para crear con PHP 5 y mysql acortamientos de links. El problema que encuentro en este tipo de sites es que el usuario no sabe en realidad a que link está yendo, cosa que me molesta, no solo por seguridad sino por que damos toda la confianza a un sitio donde no me garantiza por escrito la estabilidad de ese link. Paginas muy conocidas que actualmente poseen millones de link, no se que pasaría si venden mañana los links a una web con contenido para adultos, por ejemplo.

A lo segundo, he realizado un curso de Zend Framework (mas de un post se referirá a el), y realmente te da mucha facilidad a la hora de programar. Un buen dominio de el te da muchas posibilidades a una velocidad difícil de alcanzar programando desde cero. Pero mi duda es la utilización de otros “Frameworks”, o mejor dicho, Gestores de contenido, que facilitan muchísimo todo el proceso de programación y que al mismo tiempo permiten ampliar el código con módulos y demás.
En este articulo creo que refleja los motivos de una buena elección de un Gestor de Contenido. En realidad comparan diferentes softwaes de creación de tienda on-line, no puedo dar una opinión de los códigos mencionados porque no los conozco en profundidad pero si que lo voy a utilizar para extender la opinión a cualquier CMS.
Lo importante en un Gestor o código que vayamos a utilizar es la comunidad que tenga (a poder ser en español) y que tengan una versión “abierta” o de fácil desarrollo.

Link: script acortar links
Link: Opinion sobre software crear tiendas on-line

Leave a Comment :, , , , more...

Codificar imagenes en base64 (Imagenes como texto)

by Desendoll on Jul.01, 2009, under PHP

Si tienes un hosting restrictivo o cualquier impedimento para subir imágenes, esta es la solución. Como hacen algunos temas para incorporar imágenes? pues codificando las imágenes para que sean solo texto.

En PHP tenemos dos funciones base64_encode y base64_decode. En este caso nos interesa obtener el código de la imagen, por lo que utilizaremos la base64_encode. Para obtener la imagen codificada:

$code = base64_encode(file_get_contents(‘DONDE/ESTE/LA/IMAGEN.png’))

Y ahora ya podemos utilizar nuestra imagen como texto en un background css, en una imagen directamente…
Tan solo debemos saber que nuestra imagen sera:

data:image/png;base64,asdfasdEasdf23dsafcas….

Leave a Comment :, , , , , , , more...

Borrachos + CSS y Accidentes tráfico + PHP

by Desendoll on Jun.17, 2009, under humor

Una imagen vale mas que mil palabras, por lo que cual seria la mejor manera de explicar las propiedades css o las funciones PHP? pues claro con imágenes. Lo que me hace gracia es el tipo de imágenes elegidas.

Por ejemplo:

Un overflow: hidden = Ajusta los elementos para mostrar en linea

css-overflow-hidden

O en PHP strtolower se utiliza para pasar a minúsculas un string…

php-accidentes-strtolower

Link : borrachos + CSS

Link : Accidentes de Tráfico + PHP

Leave a Comment :, , , , , more...

Seguridad PHP I: Querys seguras con sprintf

by Desendoll on Jun.11, 2009, under PHP, Seguridad

Sprintf no es propiamente de MySQL, pero si que se utiliza para ofrecernos mayor seguridad a nuestras consultas. Sprintf no nos soluciona todos los problemas de seguridad en MySQL, pero nos hace mas “fuerte” nuestro PHP y junto su hermano gemelo printf, nos ayudara a mostrar un código mas seguro.

Ej de consulta insegura donde nos viene dadas la variable $ids:

$sql = ‘DELETE FROM tabla WHERE id = ‘ . $ids; ( ej. alguien pondría $ids=’1 OR id != 0′;)

Si alguien consigue poner lo que le plazca en este código, nos puede borrar toda la tabla. En canvio si hacemos:

$sql = sprintf(”DELETE FROM tabla WHERE id = %d”, $ids);

ZAS, sprintf te acaba de salvar la vida, la dignidad y posiblemente tu trabajo!! Porque?, porque cualquier cadena que se entre tan solo sera interpretado como un entero. Tenga en cuenta que aunque el intruso pueda poner qualquier numero, usted tendrá que agregar otra clausula en WHERE para que no se eliminen entre “ellos”.

Hemos puesto el ejemplo con una cadena MySQL, pero podria ser en un echo directo, modificando lo por un printf evitaríamos intrusiones ejecución.

Tipos de datos

  • % – El argumento no es obligatorio.
  • b – Un entero, y el resultado es presentado como un numero binario.
  • c – Un entero, y el resultado es presentado en código ASCCI.
  • d- Un numero, pero como un numero decimal (con signo).
  • e- Es tratado como notación científica (ej.1.2E +2)
  • u- Un numero, decimal sin signo.
  • f / F- Numero coma flotante (diferente presentación con min. o may.)
  • o- Entero, presentado como un octal
  • s- Un String
  • x- entero, y es presentado como un hexadecimal en minusculas
  • X- Lo mismo que x, pero con mayúsculas.

Por ultimo, no menos importante, sprintf y printf apoyan las funciones dentro de sus sentencias, así pues, podemos mejorar nuestra consulta añadiendo %d", mysql_real_escape_string($ids));
Seguiré agregando temas de seguridad en MySQL, porque sigo viendo muchos errores.

4 Comments :, , , more...

Visita nuestros amigos!

Unos amigos muy recomendables ...