
15 de noviembre del 2007

Escrito por José Cabo
Parece increíble… sí, pero hasta las distribuciones de Linux se bloquean y cuelgan. Pero, el caso de Linux es especial. Gracias a su kernel es posible apagarse ‘correctamente’ sin llegar a cargarse ningún archivo o sistema de ficheros por un apagado inesperado (como podría pasar con el pantallazo azul de Windows).
Siguiendo estos pequeños atajos de teclado (que deberemos aprendernos de cabeza…) podemos apagar el equipo completamente y sin riesgos (siempre y cuando el control+alt+retroceso no sean suficientes para solucionarlo).
Pulsa Alt+ ImprPantalla y mantenlos pulsados.
Teclea RSEIUB y tu sistema se reiniciará, así de simple.
Con eso el ordenador matará todos los procesos en orden y apagará correctamente el equipo. Si tenéis curiosidad, esto significa cada letra:
R devuelve el control al teclado.
S sincroniza.
E manda a los procesos la señal term.
I manda a los procesos la señal kill.
U desmonta los sistemas de ficheros.
B reinicia el sistema.
….Porque hasta lo perfecto puede ejecutar cosas maliciosas
(es broma…., o no?).
Visto en UbuntuRoot
Categorias: GNU/Linux, Seguridad |
2 comentarios »

1 de octubre del 2007

Escrito por Alex Barros
Seguramente ya conoceréis el clásico sistema Anti Robots que consiste en hacer una pregunta que requiera del “razonamiento humano“. Este sistema puede ser construido de una forma sencillísima con PHP, y os muestro cómo:
Nuestra base de datos de preguntas y respuestas será un simple array. Además usaremos las sesiones, para verificar la respuesta en el archivo de chequeo.
El array de preguntas y respuestas contendrá una pregunta clara y legible para los humanos, y una respuesta a modo de expresión regular, para considerar las variantes de respuesta. Por ejemplo:
Pregunta: ¿Cuántos dedos tiene una mano?
Respuesta: (5|cinco) // acepta mayúsculas y minúsculas
Una vez declarado esto, seleccionaremos una pregunta al azar, con la función rand(). La parte de pregunta la imprimiremos por pantalla en el lugar adecuado junto a un campo de texto.
Lo siguiente es guardar la expresión regular que contiene la respuesta en una variable de sesión, para que quede accesible en el chequeo a continuación.
Por último, en el archivo de chequeo usaremos la función de que evalua expresiones regulares eregi(), sometiendo la respuesta del campo de texto a la expresión regular almacenada en sesión.
El concepto ya está definido, y es tan simple como eso. Ahora plasmémoslo en esas bonitas letras de colores que son el código:
En el archivo del formulario:
-
-
-
$preguntas[] =
array(‘Cuantos dedos tiene una mano?’,
‘(5|cinco)’);
-
$preguntas[] =
array(‘Resultado de sumar 2 y 4?’,
‘(6|seis)’);
-
$preguntas[] =
array(‘Cuantas ruedas tiene un coche?’,
‘(4|cuatro)’);
-
$preguntas[] =
array(‘Que animal es mas grande: elefante o caracol?’,
‘(primero|elefante)’);
-
$preguntas[] =
array(‘Cual es el color mas oscuro de todos?’,
‘negro’);
-
$preguntas[] =
array(‘Por favor, contesta: eres humano?’,
‘(si|claro)’);
-
$preguntas[] =
array(‘Con que mano escribe un zurdo?’,
‘(izquierda)’);
-
$preguntas[] =
array(‘Escribe pan dos veces.’,
‘^pan ?pan$’);
-
// puedes escribir todas las que quieras
-
-
$pregn =
rand(0,
(count($preguntas)-1));
// numero al azar
-
$_SESSION[‘pregregex’] = $preguntas[$pregn][1]; // Lo guardo en sesion
-
echo ‘</p>’.
$preguntas[$pregn][0].
‘</p><br><input type="text" name="respuesta" />’;
Y en el archivo de chequeo:
-
-
-
if($_SESSION[‘pregregex’] AND $_GET[‘respuesta’])
-
{
-
if(eregi($_SESSION[‘pregregex’],
$_GET[‘respuesta’]))
-
echo "De acuerdo, no eres un robot…";
-
else
-
echo "Solo Bender puede superarte a robot !";
-
unset($_SESSION[‘pregregex’]);
-
}
Inconvenientes:
- El idioma importa (a no ser que sean preguntas aritmeticas)
- Puedes toparte con una mente brillante, que le de por contestarte lo que no es
- …ninguno más, que yo sepa… pregúntale a un robot.
Podéis probar su funcionamiento en directo desde este ejemplo.
Descargar ejemplo:

Categorias: Aplicaciones, Código, HOWTO/CóMO, PHP, Seguridad, Software libre |
5 comentarios »