Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las rutas principales de ASP clásico permiten a los desarrolladores usar direcciones relativas que contengan ".." en las rutas de acceso a archivos o carpetas. Por ejemplo, el siguiente fragmento de código muestra una página ASP que asigna una ruta de acceso primaria:
<%
Response.Write Server.MapPath("../example.asp")
%>
Además, el código siguiente, excepto muestra una página ASP que hace referencia a un archivo incluido en una carpeta que usa una ruta de acceso primaria:
<!--#include file="../_fpclass/fpdblib.inc"-->
En varias versiones anteriores de IIS, las rutas de acceso primarias estaban habilitadas de forma predeterminada. En IIS 6.0, el comportamiento predeterminado cambió para deshabilitar las rutas de acceso primarias y esto se hizo por motivos de seguridad y diseño: al impedir la ejecución de las rutas de acceso primarias, se impide la inclusión del contenido en los límites de seguridad o aplicación. De forma predeterminada, los mensajes de error del script ASP de clase no se envían al explorador web y los intentos de usar rutas de acceso primarias devolverán el siguiente mensaje de error a un explorador web:
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator, please click here to find out more about this error.
(Note: The ASP script error message listed above may be customized. For more information, see the Classic ASP script errors are no longer shown in a Web browser by default topic.)
Si habilita el envío de mensajes de error de script de ASP y los scripts de ASP clásico intentan asignar una ruta de acceso en una carpeta primaria, recibirá el siguiente mensaje de error en el explorador web:
Server.MapPath() error 'ASP 0175 : 80004005'
Disallowed Path Characters
/test/example.asp, line 100
The '..' characters are not allowed in the Path parameter for the MapPath method.
Cuando los scripts de ASP clásico intentan incluir una página que usa rutas de acceso primarias en IIS, recibirá el siguiente mensaje de error en el explorador web:
Active Server Pages error 'ASP 0131'
Disallowed Parent Path
/test/example.asp, line 100
The Include file '../_fpclass/fpdblib.inc' cannot contain '..' to indicate the parent directory.
Trabajar con Control de acceso de usuarios
Debe asegurarse de seguir los pasos descritos en este documento mediante una cuenta que tenga permisos administrativos completos. Use uno de los dos métodos siguientes para llevar a cabo este proceso correctamente:
- Inicie sesión en el equipo con la cuenta de administrador local.
- Si ha iniciado sesión con una cuenta que tiene permisos administrativos, pero que no es la cuenta de administrador local, abra todas las aplicaciones y todas las sesiones del símbolo del sistema mediante la opción "Ejecutar como administrador".
Estas condiciones anteriores son necesarias porque el componente de seguridad Control de cuentas de usuario (UAC) de Windows Vista y Windows Server 2008 impedirá el acceso administrativo a las opciones de configuración de IIS. Para obtener más información acerca de UAC, consulte la siguiente documentación:
Resolución de problemas de rutas de acceso principales
Uso de rutas de acceso virtuales
Como alternativa al uso de rutas de acceso primarias en el código de ASP, puede usar rutas de acceso virtuales. Las rutas de acceso virtuales requieren que escriba la ruta de acceso completa de la carpeta desde la raíz de la dirección URL del sitio web. Por ejemplo:
Rutas de acceso de asignación:
<%
Response.Write Server.MapPath("/test/example.asp")
%>
Rutas de acceso de inclusión:
<!--#include virtual="/_fpclass/fpdblib.inc"-->
Habilitación de rutas de acceso primarias de ASP
Puede habilitar o deshabilitar rutas de acceso primarias mediante el Administrador de IIS. Para ello, abra el Administrador de IIS y vaya al sitio o la aplicación donde desea configurar las rutas de acceso primarias y, a continuación, haga doble clic en la característica ASP.
En la lista de características de ASP, configure la opción Habilitar rutas de acceso primarias.
También puede configurar esta opción mediante la herramienta de línea de comandos AppCmd.exe con la sintaxis siguiente:
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /enableParentPaths:"False" /commit:apphost
Más información
Para obtener más información sobre las opciones disponibles para la ASP clásica, consulte la página siguiente en la referencia de configuración de IIS en el sitio web de Microsoft IIS.net:
Para obtener más información sobre las rutas de acceso primarias en IIS, consulte la página siguiente en Microsoft Knowledge Base:
Habilitar rutas de acceso primarias está deshabilitado de forma predeterminada en IIS 6.0