Al intentar leer el valor de alguna cookie en particular con JavaScript, nos encontraremos en el inconveniente que los datos arrojados por document.cookie conforman una cadena de caracteres del tipo nombreCookie1=valorCookie1; nombreCookie2=valorCookie2 en el caso de que existan 2 cookies para nuestro dominio. Como se puede ver, los valores de las distintas cookies se concatenan y separan con un punto y coma… definitivamente lo arrojado por document.cookie se aleja bastante del dato que se pretende obtener. Para obtener el valor real de, por ejemplo nombreCookie1, hará falta una función encargada de parsear esa cadena y retornarnos lo que corresponda, en este caso valorCookie1. Lo más cómodo resultaría desarrollar una función llamada leerCookie la cual reciba como parámetro el nombre de la cookie que se quiere obtener su valor y nos retorne false en caso de que la misma no exista o su valor en caso contrario.
Intercambio de links: blog y otros sitios de cualquier temática
Simplemente quería comentarles a todos aquellos que dispongan de un Sitio web de cualquier temática, ya sea blog, foro u otro tipo, que estoy actualmente interesado en realizar intercambio de links desde sitios con PageRank 1, 2, 3 o 4. El sitio que me interesa posicionar es http://es.r4-revolution.com y http://en.r4-revolution.com cuyo contenido es informativo acerca de un cartucho para emular ROMS en la consola Nintendo DS. Sus links se colocarían en alguno de los dominios de mi pertenencia que tenga igual PageRank al Sitio donde ustedes colocarían el enlace a r4-revolution.com. Si a alguien le interesa el intercambio por favor hacermelo saber a través de los comentarios de esta entrada o en edanps at gmail dot com.
Saludos.
Oscurecer el fondo de una página con un DIV
Si se han estado peleando con los eternos problemas de interpretación del CSS en los distintos navegadores para conseguir que un DIV semi transparente ocupe el 100% del ancho y largo de la página, esta función en JavaScript les puede resultar de utilidad. La idea de este pequeño código es que, pasandole 3 parámetros, se encargue de la creación de este DIV con opacidad reducida “deshabilitando” todo lo que queda debajo de él. La forma de utilizar la función es sencilla: generateCoverDiv(’divId’, ‘#000000′, 75); donde divID es el ID que se le asignará a la capa semi transparente, #000000 es el color de base de esa capa y 75 es el porcentaje de opacidad que se le pretende dar a la misma. Así en el ejemplo se estará generando una capa cuyo width y height son el 100% del contenido de la página, con color negro y con un 75% de opacidad. El z-index de esta capa de cobertura tendrá 100 como valor, cosa que comunmente resultará suficiente para conseguir ese efecto de “deshabilitado” de los elementos que quedan debajo. El código de la función en cuestión es el siguiente:
Redirecciones con mod-rewrite y los problemas para cargar imágenes y estilos
A continuación dejo un pequeño texto que he escrito más que nada como ayuda memorias a la hora de hacer redirecciones con el mod-rewrite. El mismo comienza explicando la diferencia entre rutas relativas y absolutas, sigue con la importancia de la etiqueta base a la hora de hacer redirecciones y termina analizando el caso de un sitio web multi-idioma. Espero les resulte de utilidad y cualquier cosa comenten.
Sapphire HD3850 (HD 3850) en imágenes: Call Of Duty 4
Hace un tiempo tenia la intención de cambiar la PC debido a que con la antigua se me complicaban demasiado las tareas diarias con el Photoshop y algún que otro IDE. También, por supuesto, quería poder correr algunos juegos de manera medianamente decente. El gran interrogante era la elección de la placa de video. Buscando por todas partes y preguntando incansablemente en foros, tomé la desición de hacerme con la Sapphire HD 3850 que, por aquel entonces, tenía un valor de U$S170 en tiendas como NewEgg.
Para tomar la desición me basé, no solo en el dinero que tenía disponible para gastar, sino en varios reviews que se pueden encontrar por la web. Aún así, hubiera querido por aquel entonces encontrar algunas capturas de algún juego visto desde los ojos de la HD 3850… si bien las comparaciones y reviews hablan por sí solos, uno siempre quiere ver prematuramente como va a poder jugar con su futura “inversión”. Para llenar ese pequeño vacío de imágenes, aquí les dejo algunas capturas (screens) del Call of Duty 4: Modern Warfare y espero en unos días estar subiendo algunas del Crysis y algún otro que tengo por ahí.
Pila y Cola en C/C++ con punteros: un par de ejemplos prácticos
Revisando por ahí unas cosas viejas del disco encontré un par de ejemplitos que hice y que me resultaron muy útiles en aquella época en la que cursaba Programación en la universidad. Teniendo en cuenta que el desarrollo de estas estructuras de datos con punteros resulta a veces un poco complicada, me parece interesante exponer a continuación un par de programitas extremadamente sencillos que ilustran como se puede trabajar para lidiar con estas cosas. Los programas creo que resultan claros en sí mismos, por lo que no le agregué comentarios… son libres de consultarme ante cualquier duda.
El sistema de cifrado WEP - segunda parte
Les dejo la segunda parte del artículo comenzado aquí hace un tiempo. En esta “nueva entrega” voy a tratar el tema de seguridad en el sistema WEP con algunas pruebas de campo.
Todos sabemos que WEP es un sistema obsoleto y no seguro, pero resulta impresionante ver en las estadísticas mundiales de uso que aún resulte un protocolo utilizado de manera masiva. Quizá la creencia de que “si es para una red casera esta bien” sostenida años atrás aún esté en vigencia. También la desinformación juega un papel importante en este asunto; si tenemos en cuenta que cualquier hogar de medianos recursos puede adquirir insumos para el propio armado de una red inalámbrica, y para peor, estos aparatos -según mi entender- no informan al usuario como deberían, es fácil ver porqué WEP no ha pasado a la historia todavía. En el siguiente texto trataré de dejar en claro porqué WEP no debe utilizarse, ni para una red hogareña cuyas transmiciones carecen de caracter “secreto”, ni mucho menos para una empresa.
El sistema de cifrado WEP
Durante algunos días de este año estuve trabajando en describir algunos de los protocolos más importantes utilizados en redes informáticas para un cursillo que estoy tomando. Aquí les dejo una pequeña descripción bastante superficial del funcionamiento de WEP que, si bien no se introduce demasiado en temas de criptografía, resulta muy esclarecedora para aquellos que se deseen encaminar en este tema. Por favor no tomen todo lo que leen como verdad universal; aún estoy aprendiendo sobre el tema y puede que exista algún error. En fin, a mi me hubiera gustado encontrar una descripción de WEP como la que pongo a continuación en su momento… asi que espero que a alguien le sirva!
En una próxima entrada les copio el capítulo de análisis de seguridad del protocolo. YÂ la historia comienza más o menos así…
Vulnerabilidades XSS: PHP y $_SERVER[’PHP_SELF’]
Siguiendo un poco con la costumbre hoy vos a dejarles otro pequeño artículo sobre Seguridad en PHP y, más precisamente, sobre ataques y vulnerabilidades XSS. Durante el desarrollo de este texto voy a suponer leído el artículo anterior de Seguridad en PHP: Ataques XSS: el peligro de hacer echo $_GET[’var’] por lo que no voy a explicar nuevamente los peligros que conlleva una vulnerabilidad XSS, los ejemplos para explotarlas, las formas de solucionar este problema ni otras cuestiones mencionadas en aquel texto.
Hoy nos vamos a centrar en el análisis de la variable predefinida de PHP $_SERVER[’PHP_SELF’]. Para los que no están al tanto, esta variable retorna el valor del nombre de archivo del código PHP que se esté ejecutando actualmente, relativo a la raiz del sitio. Entonces si estoy visualizando a http://www.misitio.com/index.php la variable $_SERVER[’PHP_SELF’] me arrojará /index.php. Dadas sus características es muy común su uso dentro de etiquetas de vínculos a o dentro de etiquetas form en atributos action para hacer referencia al mismo script donde nos encontramos actualmente. El problema que muchos desconocen es que la variable $_SERVER[’PHP_SELF’] es fácilmente manipulable por cualquier usuario y su mal uso puede representar un problema grave de seguridad, como veremos a continuación.
Ataques XSS: el peligro de hacer echo $_GET[’var’]
En la red se puede encontrar toneladas de información teórica acerca de que son los ataques XSS (Cross Site Scripting), de que tipos existen, y muchos etcéteras. Pero posiblemente nos demos cuenta de que tan vulnerables pueden resultar nuestros sitios cuando veamos un ejemplo real de un ataque de este tipo; y eso es lo que voy a tratar de mostrarles en este pequeño artículo.
Sobre XSS, no hay mucho que decir que no se haya dicho antes. Yo definiría a XSS como un ataque que se basa en explotar métodos poco correctos de programación para ejecutar script malicioso de cliente (comunmente JavaScript) al momento que un usuario desprevenido ingresa al sitio víctima del ataque. Que yo, atacante, pueda hacer que en el sitio víctima se ejecute un script JavaScript arbitrario, aunque a algunos les pueda parecer inofensivo, resulta realmente peligroso. Un código JavaScript puede redireccionar usuarios a otras URL’s, puede cambiar la información que se muestra en el sitio y, quizá lo más interesante, puede obtener los valores de las cookies que el navegador del usuario posea en ese momento. Obtener el valor de las cookies equivale a obtener el Session ID (SID a partir de ahora), el cual se utiliza para que el servidor reconozca al usuario “Pepe” como “Pepe” y no como ningún otro. Suponiendo que se utiliza sistema de sesiones nativas de PHP (session_start() y sus secuaces), si yo tengo el SID de “Pepe” que se almacena en sus cookies, puedo ingresar como “Pepe” aunque no lo sea.
Red social
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jun | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
Ultimas entradas
- Leer el valor de una cookie desde JavaScript
- Intercambio de links: blog y otros sitios de cualquier temática
- Oscurecer el fondo de una página con un DIV
- Redirecciones con mod-rewrite y los problemas para cargar imágenes y estilos
- Sapphire HD3850 (HD 3850) en imágenes: Call Of Duty 4
- Pila y Cola en C/C++ con punteros: un par de ejemplos prácticos
- El sistema de cifrado WEP - segunda parte
- El sistema de cifrado WEP
- Vulnerabilidades XSS: PHP y $_SERVER[’PHP_SELF’]
- Ataques XSS: el peligro de hacer echo $_GET[’var’]
Ultimos comentarios
- Daniel in Ataques XSS: el peligro de hacer ec…
- Leniad in Ataques XSS: el peligro de hacer ec…
- Leniad in Ataques XSS: el peligro de hacer ec…
- Daniel in Oscurecer el fondo de una página c…
- Silbido in Oscurecer el fondo de una página c…
- juan luis in Como hacer un scroll en un DIV con …
- Daniel in Como hacer un scroll en un DIV con …
- tatiana in Drag & Drop (arrastrar y soltar) si…
- scape_ in Clase para generar automáticamente…
- Lucio in Como hacer un scroll en un DIV con …
Categorias
- AJAX
- Apache
- C/C++
- Desarrollo de Escritorio
- Desarrollo Web
- General
- Hardware
- JavaScript
- Otros
- PHP
- Redes
- Seguridad
- XSS
Archivos
Paginas
Blogroll
- AquiLoEncuentras
- Blog[nbsp]
- Cabeza de Ratón
- Club Desarrolladores
- Ejemplos de AJAX
- El hombre Virtual
- R4 Revolution (R4DS)