Bash: Buscando un paquete apt

11.nov 2008 1 Comentarios
¿Y si queremos buscar un paquete apt y no recordamos la sintaxis del apt-cache?, tampoco sabríamos hacer este script, pero bueno:
#!/bin/sh
# Buscar un paquete apt (mysearch.sh)
if [ "$1" == "" ] ; then
    echo "Has de especificar un paquete..."
    exit
fi
apt-cache search $1 | grep $1
Otro de los mini ejercicios de aprenda bash como si estuviera en primero que propuse durante la docencia.
bash tips scripts

Bash: Comprobar conectividad

11.nov 2008 1 Comentarios
Empiezo una serie de mini tips en bash para publicar varias notas que tenía en el olvido y empezar la migración de contenidos del wiki a la web. Con este pequeño post se pretende inaugurar la sección de código.

El script es sencillo, comprobar la conectividad con google (por ejemplo):
#!/bin/sh
# Respuesta $? (0 si todo es OK)
PEPE=`ping -c 1 google.es`
echo $?
Redirigir a /dev/null y 2>&1 para que los errores stderr (2) vayan al mismo sitio que la stdout (1):
#!/bin/sh
PEPE=`ping -c 1 google.es`
echo $?

PEPA=`ping -c 1 loro.yar > /dev/null 2>&1`
echo $?
Y vereis la diferencia entre una sentencia que se ejecuta correctamente y otra que no.
bash tips scripts

Hover en Internet Explorer

06.nov 2008 0 Comentarios
Si hablamos de Internet Explorer (ie6) como navegador válido y funcional, hay ciertos elementos que no admiten cambios en la propiedad hover de CSS. Para tan tremendo bug tenemos una solución sencilla:
<!--[if IE 6]>
<script type="text/javascript">
window.onload=func;
function func(id,estado)
{
   var d = document.getElementById(id);
   if (estado == 1) { d.style.backgroundColor='#B3CDF2'; }
   else { d.style.backgroundColor='#557ab1'; }
}
</script>
<![endif]-->
La función solamente se carga si el navegador es nuestro querido amigo, lo único que hace es cambiar la propiedad backgroundColor del id que hemos pasado como argumento. Dependiendo del estado pone un color u otro, con lo que debemos llamarla según interese en onmouseover o onmouseout: »
tips hover

Hack: XSS oculto en imágenes

09.oct 2008 0 Comentarios
Esta mañana hemos estado probando una nueva forma de XSS: a través de código en imágenes maliciosas }:).

El XSS no es más que un tipo de ataque o agujero basado en la explotación de vulnerabilidades del sistema de validación de HTML incrustado (wikipedia dixit).

Espero que se entienda mejor con un pequeño taller de 5 minutos, ejemplo incluido. »
imagenes hack

Redirección 301 con php

02.oct 2008 2 Comentarios
La redirección 301 es un recurso muy usado para guiar a los spiders por el camino correcto de tus enlaces, en PHP su implementación es muy sencilla:
function redirige($url)
{
    Header( "HTTP/1.1 301 Moved Permanently" ); 
    Header( "Status: 301 Moved Permanently" );
    Header( "Location: ".$url); 
}
Se recomienda su uso para evitar contenidos duplicados, muy habitual en webs que muestran el mismo contenido con y sin separador final /. También es interesante para hacerle saber al spider las páginas que han cambiado su ubicación.
redirect 301
JQuery UI Datepicker Themes: Themes para el datepicker de JQuery (0 com. - 231 hits.) rating »

PHP: POST directo a través de socket

25.sep 2008 0 Comentarios
Para hacer una petición POST a través de php -sin utilizar curl()- podemos hacerlo simplemente con sockets -con HTTPS si lo queremos seguro- y algo de suerte -para que todo funcione a la primera-:
// Variables
$host = "www.host.com";
$referer = "http://www.host-referer.com";
$path = "/ruta/al/form.php";
$data = "Lo que vamos a mandar por POST";

// Abriendo un socket seguro (443)
$fp = fsockopen('ssl://'.$host, 443, $errno,$errstr,30);

// Enviando cabeceras y datos
fputs($fp, "POST $path HTTP/1.0\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

// Recogiendo el resultado
$result = ''; 
while(!feof($fp))
    $result .= fgets($fp, 128);

// Cerramos y visualizamos respuesta
fclose($fp);
print_r($result);
Como veis no hace falta que la petición vaya envuelta en una variable si el servidor no lo espera de esa forma.
socket
MySQL: Useful Stuff: Gracias a dmnet descubro estos scripts para MySQL que pueden ser de gran ayuda. (0 com. - 158 hits.) rating »
MySQL 5.1: Full Text Search: Nuevas features del Full Text Search en 5.1 (0 com. - 185 hits.) rating »

PHP: Array, nombre y extensión

12.sep 2008 1 Comentarios
Siempre hay una típica función que se reutiliza para cantidad de proyectos y se puede mejorar notablemente. En este caso se trata de separar nombre y extensión de un fichero. Nada del otro mundo pero podemos llegar a hacer verdaderas locuras para ello:

En el caso más simple casi cualquier cosa valdría:
$file="nombre.jpg";
$extension = array_pop(explode('.',$file)); // Sacaría "jpg"
$nombre = array_shift(explode('.',$file));  // Sacaría "nombre"
»
array
« Pág. siguiente
Pág. anterior »