Horarios

(Aquí enlaces a las entradas de horarios)

Sectarios

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.

0 comentarios:

Contra la ley Sinde

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

Top Resumenes

Publicidad