Archivo de la categoría Programación

Vulnerabilidades en la Web de P.C. Green (Parte II)



En nuestro anterior capítulo, avisé a P.C. Green de las deficiencias de su web, previamente al análisis público en mi bitácora, por si querían solucionar las incidencias.

Pese a que no lo esperaba, ya he tenido respuesta por su parte, bueno, de su daemon:

From: Mail Delivery System <[email protected]>
To: Javier Gutiérrez Chamorro
Date: Mon, 31 Jan 2005 20:59:33 +0100 (CET)
Subject: Undelivered Mail Returned to Sender

This is the Postfix program at host cocotero.tiscali.es.

I'm sorry to have to inform you that the message returned below could not be delivered to one or more destinations.…

Continuar leyendo...

Vulnerabilidades en la Web de P.C. Green (Parte I)



Con todo lo que ha ocurrido hoy con P.C. Green, no he podido evitar el echarle un vistazo a su web.

He quedado francamente sorprendido. Hacía mucho que no veía un sitio potencialmente vulnerable a todos los ataques de intrusión.

Así que he decidido hacer un artículo comentando las malas prácticas que se utilizan en esa web, para que sepamos aquello que es potencialmente inseguro, y por tanto deberemos evitar.

Por ética, he decidido avisar a P.C. Green antes de publicar el artículo, de esta forma disponen de un margen de tiempo para corregir los problemas, antes de que queden expuestos al público.…

Continuar leyendo...

Benchmark de CPU/FPU en Flash



He desarrollado un pequeño benchmark en Flash, que de forma muy sencilla nos da el rendimiento sintético de nuestro procesador.

Se utilizan operaciones con enteros, coma flotante y cadenas para realizar la simulación, y se retorna un valor cuantitativo calibrado en referencia a mi AMD Athlon XP 2400+.

El resultado es simplemente orientativo, ya que dependiendo de los procesos que tengamos en ejecución en ese momento, el resultado puede variar (habitualmente a la baja).

El objetivo de mi experimento era simplemente ver que arquitecturas favorecen en mayor medida la ejecución de Flash, por lo que agradecería vuestras colaboraciones.…

Continuar leyendo...

Cookies vs Sesiones en PHP



A estas alturas, huelga decir, que es mucho más sencillo y seguro utilizar sesiones en vez de cookies, para almacenar información temporal sobre el usuario conectado al sistema.

Habitualmente necesitamos guardar el estado de datos tales como el ID de usuario conectado, y tenerlos disponibles durante toda la aplicación.

Es evidente que si almacenamos el ID de usuario en una cookie, la manipulación de ese dato, es tan sencilla como editar un en nuestro disco duro.

A nivel de rendimiento, también es mucho más eficiente utilizar sesiones, aproximadamente un 400% más veloces.

Con este artículo, no quiero decir que no debemos usar cookies, ya que son indispensables cuándo lo que se necesita es almacenar información durante más de una sesión, o bien si necesitamos poder leerla y guardarla desde Javascript.…

Continuar leyendo...

Trabajo en SPHPBlog



He tenido algo de tiempo estos días y lo he dedicado a Simple PHP Blog.

Ahora la página de estadísticas, es algo más veloz, además de ofrecer conteos sobre votos y puntuaciones de los artículos.

Lo siguiente que tengo en mente para desarrollar es:
– Búsqueda mejorada: Permitiendo elegir la cantidad de resultados a mostrar, y donde buscar (entradas, comentarios, páginas estáticas, …). Por defecto se retornarán como mucho 10 resultados, centrándose en las entradas. El usuario podrá alterar estos valores.
– Implementar algún tipo de cache permanente en la función blog_entry_listing.…

Continuar leyendo...

Ofuscador de direcciones de email



He recibido alguna que otra felicitación por la forma en que ofuscamos las direcciones de email en las páginas de comentarios de Simple PHP Blog.

El algoritmo utilizado es el resultado de la combinación entre la idea de Alex y la mía, por lo que no es de extrañar que actualmente sea bastante efectivo.

El funcionamiento es bien sencillo. Partiendo de una dirección de email típica, por ejemplo [email protected], se transformaría en <script language="Javascript" type="text/javascript">s0='&#121;&#111;'; s1='&#109;&#105;&#100;&#111;&#109;&#105;&#110;&#105;&#111;&#46;&#101;&#115;'; document.write('<a href="mailto:' + s0 + '@' + s1 + '">' + s0 + '@' + s1 + '</a>');</script>; en vez de en el tradicional <a href="mailto:[email protected]">[email protected]</a>.…

Continuar leyendo...

Hisoft Basic



El compilador de Basic de Hisoft para el Sinclair ZX Spectrum de 48K, apareció por primera vez en 1986.

Fue escrito por Cameron Hayne, quien estima que empleó en el desarrollo un año hombre, lo cual sería hoy en día un esfuerzo minúsculo para desarrollar un compilador.

Estaba totalmente programado en código máquina del Z80, apenas ocupaba 12 Kb de memoria. Ésta pequeña maravilla era capaz de compilar la mayoría de programas Basic sin ningún cambio. A diferencia de otras herramientas, soportaba totalmente los números en coma flotante.

Posteriormente se fueron corrigiendo errores, y añadiendo nuevas funcionalidades, hasta llegar a la versión 1.2 de 1987.…

Continuar leyendo...

Actualización a Simple PHP Blog 0.4.0



Se ha liberado el nuevo SPHPBlog 0.4.0 final.

Con la cantidad de cambios que incluye, en el último momento Alex ha decidido bautizarla como 0.4.0 en vez de 0.3.8.

Como de costumbre, desde hace unas horas, mi weblog, está ya actualizado a esta nueva versión.

Lo podéis descargar desde sourceforge.net/project/showfiles.php?group_id=106696.



Continuar leyendo...

Documentación de MySQL en CHM



Por fin MySQL AB, ha escuchado nuestras súplicas, y ha decidido distribuir el manual de su base de datos también en formato HTML Compilado (CHM). Lo podéis descargar en dev.mysql.com/get/Downloads/Manual/manual.chm/from/pick.

Utilizar la versión HTML, o PDF era muy engorroso. Ya solamente falta que liberen la versión de MySQL para Windows compilada con el Intel C++, al igual que existe para Linux.

Casi al unísono, los amigos de PHP, han actualizado el manual CHM extendido con anotaciones, ¡el compañero ideal! Está en es2.php.net/get/php_manual_chm.zip/from/a/mirror.



Continuar leyendo...

Lector de feeds RSS 100% Javascript



Después del artículo de HTTPWebRequest, he decidido hacer una mini demostración de sus posibilidades.

El siguiente script, escrito 100% en Javascript, es capaz de procesar los titulares de cualquier feed RSS:

<script language="Javascript">
function GetRSS (psUrl)
{
var oHttp=false;
[email protected]_on @*/
[email protected] (@_jscript_version>=5)
{
var asParsers=['Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'];
for (var iCont=0; ((!oHttp) && (iCont<asParsers.length)); iCont++)
{
try
{
oHttp=new ActiveXObject(asParsers[iCont]);
}
catch(e)
{
oHttp=false;
}
}
}
@end @*/
if ((!oHttp) && (typeof XMLHttpRequest!='undefined'))
{
oHttp=new XMLHttpRequest();
}
oHttp.open('GET', psUrl, false);
oHttp.send(null);
sDatos=oHttp.responseText + ' ';
iCont=sDatos.indexOf('<item>', 0);
while (iCont!=-1)
{
sTitulo=sDatos.substring(sDatos.indexOf('<title>', iCont)+7,
sDatos.indexOf('</title>', iCont));
sLink=sDatos.substring(sDatos.indexOf('<link>', iCont)+6,
sDatos.indexOf('</link>', iCont));
document.write('<a href="' + sLink + '" target="_blank">' +
sTitulo + '</a><br>');
iCont=sDatos.indexOf('<item>', iCont+1);
}
}
GetRSS('http://www.javiergutierrezchamorro.com/rss.php');
</script>

En efecto, el código sería mejorable de muchas maneras, por ejemplo haciendo la lectura de forma asíncrona, o utilizando expresiones regulares para obtener los atributos del artículo.…

Continuar leyendo...

Uso de cookies

Esta web utiliza cookies para mejorar la mejor experiencia de usuario. Si continúas navegando estás dandos tu consentimiento para la aceptación de las mismas y la aceptación de la política de cookies, pincha el enlace para más información.

ACEPTAR
Aviso de cookies