Horarios

(Aquí enlaces a las entradas de horarios)

Sectarios

viernes, 28 de octubre de 2011

Generar 1000 registros aleatoriamente por PHP

<?php

$enlace = mysql_connect("localhost","root","");

mysql_select_db("escuela",$enlace);

for($i=0 ; $i<1000 ; $i++ )
{
/*Generaremos todo aleatoriamente*/

     
//Variables para marcar limites del alfabeto
$DesdeLetra = "a";
$HastaLetra = "z";


/* Nombre aleatorio */
$nombre = "";
$nombre .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$nombre .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$nombre .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$nombre .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$nombre .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$nombre .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));


/*Apellido aleatorio*/
$apellido = "";
$apellido .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$apellido .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$apellido .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$apellido .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$apellido .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));
$apellido .= chr(rand(ord($DesdeLetra), ord($HastaLetra)));

/*Limites de la edad aleatoria*/
$DesdeNumero = 18;
$HastaNumero = 65;

/*Edad aleatoria*/
$edad = rand($DesdeNumero, $HastaNumero);

/* Fijo aleatorio: 0 falso, 1 verdadero */
$Valoroff = 0;
$Valoron = 1;
$fijo = rand($Valoroff, $Valoron);

$sql = "insert into profesor (nombre, apellido, edad, fijo) values ('$nombre','$apellido',$edad,$fijo)";
echo $sql."<br>";
mysql_query($sql,$enlace);
     
     
}
      mysql_close($enlace);

?>
miércoles, 26 de octubre de 2011

Sincronización

Pure Sync (Windows)

Esta aplicación nos permite sincronizar directorios en Windows.

Si preparamos una sincronización con el asistente nos facilitará mucho el trabajo. Primero nos pedirá el directorio de origen y el de destino para realizar la sincronización, pudiendo elegir entre una ruta del equipo o una ubicada en un FTP en ambos casos.

Nos permite agregar extensiones para especificar los únicos ficheros que queremos sincronizar o no queremos. También nos da la opción de sincronizar el borrado desde la carpeta uno a la carpeta dos y viceversa.

Además podremos especificar si deseamos una sincronización automatiza o manual. En caso de ser automatica deberemos especificar en que situación sincronizará (dispositivo conectado, archivos modificados, periodicamente etc). De lo contrario, deberemos especificar.

Una vez realizada la sincronización nos permite seleccionar una aplicación para lanzar desde el programa.

Una vez configurada la sincronización deseada, se nos pedirá un nombre para esta y quedará guardada con el resto de sincronizaciones.

iTalc

Es una aplicación para controlar equipos remotamente, útil para una clase o colegio. Los alumnos tendran el servicio de italc instalado en sus máquinas y harán de servidor para el profesor, que será cliente de todos. Pero podiendo administrarlos (controlarles, cortarles la red, dejarles con la pantalla negra) con más o menos permisos dependiendo de la configuración. Para que esto sea posible, deberan extraerse las claves publicas de los alumnos (servidores) a los que deseamos conectarnos a través de las herramientas facilitadas por iTalc y importarlas en el profesor (cliente) el cual realizará esta tarea desde herramientas facilitadas por iTalc. Una vez listo esto, el profesor prodrá abrir su aplicación de control italc y manejar los escritorios de sus alumnos.

Recuperación de contraseñas de un sistema

En windows

Tendríamos que ...

En linux

Tendríamos que ...
jueves, 6 de octubre de 2011

Keylogers

Un keyloger es una aplicación maliciosa con el fin de capturar todas las teclas que pulsamos. Para probar el software malicioso, lo instalaremos en una máquina.

Desde esta web descargaremos el keyloger para realizar las pruebas:
http://www.es.logixoft.com/

Descargamos el software de la página y lo instalamos. Al abrirlo podemos visualizarlo con Cntrl + Alt + F9 (configurable) y desde hay desactivar o activar la escucha del keyloger. Una vez activado (estado de vigilancia) podemos ocultarlo para que quede oculto a la escucha. Cuando deseemos podemos traer otra vez al frente la ventana del keyloger podiendo visualizar el registro de acciones realizadas mientras estubo a la escucha.
miércoles, 5 de octubre de 2011

Ejercicios servidores web

1. Pasos para gestionar los errores 404, de manera que nos salga una página de información.
En el apache, durante la instalación de xamp, estos archivos están en la carpeta error del directorio de apache. En este caso el 404 seria el fichero "HTTP_NOT_FOUND.html.var", podríamos desde este documento con una configuración adecuada sacar lo que nosotros deseemos.
En caso de querer especificar una ruta a mano podemos ir a nuestra configuración de <directory> y añadir manualmente una linea como la siguiente:
ErrorDocument 404 /noencontrado.html
La primera cifra hace referencia a el error al que queremos referenciarlo y esa ruta "/noencontrado.html" hace referencia al documento que se cargara (ruta relativa al host) en caso de no encontrar nada.
2. ¿Se puede denegar el acceso a un determinado directorio salvo a un rango de IPs?
Si. Deberemos de crear un archivo".htaccess" en el directorio allá donde queramos aplicar la directiva. Y escribir las siguientes líneas.
allow from XXX.XXX.XXX.XXX
deny from all
Con el allow from daremos permiso a un identificador de red concreto. Si despues, hacemos una negación para todos esto se aplicará a todo el mundo menos al rango al que hemos admitido anteriormente.
3. ¿Se puede decir a los motores de busqueda que no indexen el contenido de un determinado directorio?
Sí, mediante el archivo "robots.txt". Este archivo permite aplicar directivas sobre los spiders de los buscadores y lo tenemos que meter en la raíz de nuestro sitio. ¿Como funcionan sus directivas? pues bien, si por ejemplo queremos que no se indexen las imágenes de nuestra web:

User-agent: *
Disallow: /imagenes/
O que por alguna razon, nuestra aplicación web tiene demasiados subdirectorios y no queremos que los buscadores indexen algo inecesario y que me puede traer problemas de seguridad:

User-agent: *
Disallow: /includes/
Disallow: /imagenes/
Disallow: /modulos/
4. ¿Se puede limitar el máximo número de accesos simultáneos? ¿Como podrías probar que es efectivamente de dicha manera?
Si. Esta opción se encuentra en el httpd.conf.
Hay que añadir a este fichero la directiva MaxClients. Su sintaxis es MaxClients y número de conexiones simultaneas que vamos a permitir, por ejemplo:
MaxClients 10
5. ¿Como podemos saber si GoogleBot nos ha visitado?
Podemos saber a través de los lenguajes web con que navegador se conecta alguien a nuestra web, de manera que también podemos detectar si es un google bot (en este caso desde PHP).
 if (strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot'))
{
    
// Acción a realizar si te visita Googlebot; }
Con este código podemos saber si es el googlebot el que nos visita. strstr permite ver si una cadena contiene a otra. De esta manera analizaremos "$HTTP_SERVER_VARS['HTTP_USER_AGENT']" y veremos si en esta se contiene la cadena "Googlebot". En caso de ser cierto se realizarían las acciones que metiesemos entre llaves. Lo adecuado sería realizar una conexión a una base de datos y insertar un registro en alguna tabla con la hora de la visita.
6. ¿Como podemos saber que navegador nos esta visitando de manera que mostremos una información u otra?
Podemos tener varias webs hechas, una para iexplorer, otra para el resto de los navegadores de PC, otra para moviles y redireccionarles o cargar por medio de includes una web en base al navegador y el dispositivo desde el que se conectan. A continuación un ejemplo:


if (strstr($HTTP_SERVER_VARS["HTTP_USER_AGENT"] ,"MSIE"))
{
   echo "Tu navegador es Internet Explorer";
   }
else if (strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Mozilla'))
{
   echo "Tu navegador probablemente sea de Firefox";
   }
   else if (strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'android'))
{
   echo "Tu navegador pertenece a un dispositivo Android";
   }
   else if (strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'iPad'))
{
   echo "Tu navegador pertenece a un dispositivo iPad";
   }
 En este ejemplo, dependiendo del navegador, realizamos un mensaje por pantalla para tratar de mostrar
desde que navegador se conectan. De la misma manera podríamos sustituir el mensaje por un include o una redirección.
7. Además de Apache, ¿Que otros servidores son los más utilizados del mundo? Lista con cada uno de ellos que web de fama mundial lo utiliza.
Apache: El motor de busqueda de google esta basado en una versión modificada de Apache.
IIS: Sitio web oficial de Microsoft.
Cherokee: http://svn.cherokee-project.com
Tomcat:
lighttpd: http://oss.oetiker.ch/rrdtool/
thttpd: http://www.napster.com/
8. ¿Que es tomcat? ¿Que diferencias tiene respecto a Apache? ¿En que entorno es mas utilizado? ¿Hay soluciones similares a tomcat?
Es un contenedor donde poder correr servlets. Estos son como objetos como los applets de java. Un applet es como una aplicación java que puedes cargar en un entorno web.
La principal diferencia entre estos dos servidores, es que apache es un servidor web mientras que tomcat es un contenedor de Servlets. No obstante puedes funcionar con los dos a la vez implementando el tomcat en tu servidor apache.

Documentación para instalar apache + tomcat
http://www.debianhelp.co.uk/apachetomcat.htm
http://www.netadmintools.com/art340.html
http://www.debianhelp.co.uk/apachetomcat.htm
http://wiki.apache.org/tomcat/HowTo
Conectores apache--tomcat
http://tomcat.apache.org/connectors-doc-archive/jk2/index.html
http://tomcat.apache.org/connectors-doc/
http://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html

De los dos el entorno más utilizado es el apache.
No he encontrado soluciones similares a tomcat.

Clasificacion de Malware

martes, 4 de octubre de 2011

Webalizer

Es un servicio que nos proporciona estadisticas web de nuestro server web.
Podemos instalarlo desde los repositorios de Linux y antes de colocar el comando de extraccion de estadisticas como tarea del Cron, deberemos configurar el programa del webalizer diciendole donde se encuentra nuestro archivo de acceso de Apache.

Ejecutar una tarea con CRON cada 5 minutos

las tareas programadas de CRON se guardan en un fichero, deberiamos de añadir la siguiente linea en /etc/cron.d/anacron. (el orden de las cifras es: minutos, horas, dias, mes, dia de la semana)
*/10    *    *    *   *         root         wget dominio1.com/cron.php
o
0,10,20,30,40,50   *    *    *   *         root         wget dominio1.com/cron.php

Las dos lineas lanzan una carga de la pagina (realizar las acciones) cada 10 minutos.
En caso de poner en marcha un webalizer, el cual saca estadisticas apartir de los ficheros log del servidor web, deberas ejecutar el comando del webalizer. Para ello es interesante incluirlo como tarea programada de Cron.

Un mismo servidor web con dos dominios

Estas pruebas las realizaremos sobre Linux.

Para empezar, simularemos dos dominios en el equipo:
Editamos el fichero /etc/hosts y añadimos dos dominios ficticios que apunten a localhost (marcas en verde):
127.0.0.1 localhost
127.0.1.1 barquillos-System-Product-Name
127.0.0.1 dominio1.com     www.dominio1.com
127.0.0.1 dominio2.com     www.dominio2.com

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Creamos directorios dentro de /var/www como si fuesen las webs de nuestros dominios.

Ya solo nos queda configurar nuestro servidor de web, en este caso lo haremos con apache. Para ello editaremos el fichero "000-default" en /etc/apache2/sites-enable. Al final de este fichero añadiremos las siguientes necesarias para hacer referencia a cada uno de los dominos (marcas en verde):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/dom1
ServerName www.dominio1.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/dom2
ServerName www.dominio2.com
</VirtualHost>
lunes, 3 de octubre de 2011

Contraseñas

Es importante no reutilizar las mismas contraseñas. Podemos crear contraseñas complejas apartir de conceptos sencillos.

Contra la ley Sinde

¿Estas en desacuerdo con la ley sinde? No permitas que coarten tu libertad.
labioswert Bájame

Top Resumenes

Publicidad