Índex de directoris del servidor web

Article

July 4, 2022

Quan un client HTTP (generalment un navegador web) sol·licita un URL que apunta a una estructura de directoris en lloc d'una pàgina web real dins de l'estructura de directoris, el servidor web generalment servirà una pàgina predeterminada, que sovint s'anomena principal o " pàgina d'índex". Un nom de fitxer comú per a aquesta pàgina és index.html, però la majoria dels servidors HTTP moderns ofereixen una llista configurable de noms de fitxer que el servidor pot utilitzar com a índex. Si un servidor està configurat per admetre scripts del costat del servidor, la llista normalment inclourà entrades que permeten utilitzar contingut dinàmic com a pàgina d'índex (per exemple, index.cgi, index.pl, index.php, index.shtml, index.jsp, default.asp) tot i que pot ser més apropiat encara especificar la sortida HTML (index.html.php o index.html.aspx), ja que això no s'ha de donar per fet. Un exemple és el popular servidor web de codi obert Apache, on la llista de noms de fitxers està controlada per la directiva DirectoryIndex al fitxer de configuració del servidor principal o al fitxer de configuració d'aquest directori. És possible no utilitzar extensions de fitxer en absolut, ser neutral amb els mètodes de lliurament de contingut i configurar el servidor perquè escolli automàticament el millor fitxer mitjançant la negociació de contingut. Si el servidor no pot trobar un fitxer amb cap dels noms que figuren a la seva configuració, pot tornar un error (normalment 403 Llistat d'índexs prohibit o 404 No trobat) o generar la seva pròpia pàgina d'índex amb la llista dels fitxers del directori. Normalment, aquesta opció, sovint anomenada autoindex, també es pot configurar.

Història

Un esquema en què el servidor web serveix un fitxer predeterminat per subdirectori ja s'ha admès des de la NCSA HTTPd 0.3beta (22 d'abril de 1993), que per defecte publica el fitxer index.html al directori. Aquest esquema ha estat adoptat pel CERN HTTPd des d'almenys la versió 2.17beta (5 d'abril de 1994), la qual predeterminada és compatible amb Welcome.html i welcome.html a més de l'index.html originat per NCSA. Els servidors web posteriors solen admetre aquest esquema de fitxers predeterminat. d'una forma o altra; normalment es pot configurar, sent index.html un dels noms de fitxer per defecte.

Implementació

En alguns casos, la pàgina d'inici d'un lloc web pot ser un menú d'opcions d'idioma per a llocs grans que utilitzen l'orientació geogràfica. També és possible evitar aquest pas, per exemple, utilitzant la negociació de contingut. En els casos en què no existeix cap fitxer d'índex.* conegut dins d'un directori determinat, el servidor web es pot configurar per proporcionar una llista generada automàticament dels fitxers dins del directori. Amb el servidor web Apache, per exemple, aquest comportament el proporciona el mòdul mod_autoindex i el controla la directiva Options +Indexes als fitxers de configuració del servidor web. Aquestes llistes de directoris automatitzades de vegades són un risc de seguretat perquè enumeren fitxers sensibles que poden no estar destinats a l'accés públic, en un procés conegut com a atac d'indexació de directoris. Aquesta configuració incorrecta de seguretat també pot ajudar en altres atacs, com ara un atac de travessa de ruta o directori.

Actuacions

Quan s'accedeix a un directori, els diferents mètodes d'índex disponibles també poden tenir un impacte diferent en l'ús dels recursos del sistema operatiu (RAM, temps de CPU, etc.) i, per tant, en el rendiment del servidor web. Procedint del mètode més ràpid al més lent, aquí teniu la llista: utilitzant un fitxer d'índex estàtic, per exemple: index.html, etc.; utilitzant una característica del servidor web anomenada generalment autoindex (quan no existeix cap fitxer d'índex) per permetre que el servidor web generi automàticament la llista de directoris utilitzant el seu mòdul intern; utilitzant un fitxer interpretat llegit per l'intèrpret de programes intern del servidor web, per exemple: index.php; utilitzant un programa compilat i executable CGI, per exemple: index.cgi.

Referències