none
como solucionar Error de servidor en la aplicación '/indicadores'. Error en tiempo de ejecución

    Question

  • hola:

    me sale el siguiente error al correr una aplicacion con la ip, como puedo solucionalo?.Muchas gracias a quien me pueda dar orientación.

    Error de servidor en la aplicación '/indicadores'.

    Error en tiempo de ejecución

    Descripción: Error de aplicación en el servidor. La configuración actual de errores personalizados de esta aplicación evita que se muestren los detalles del error de la aplicación de manera remota (por razones de seguridad). Sin embargo, se pueden ver los detalles en los exploradores que se ejecuten localmente en el servidor. 

    Detalles: Para habilitar los detalles de este mensaje de error específico de forma que sean visibles en equipos remotos, cree una etiqueta <customErrors> en el archivo de configuración "web.config" ubicado en el directorio raíz de la aplicación Web actual. La etiqueta <customErrors> debe tener el atributo "mode" establecido como "Off".

    <!-- Web.Config Configuration File -->
    
    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>


    Notas: La página de errores que está viendo actualmente se puede reemplazar por una página de errores personalizada si se modifica el atributo "defaultRedirect" de la etiqueta de configuración <customErrors> de la aplicación para que señale una dirección URL de páginas de errores personalizadas.

    <!-- Web.Config Configuration File -->
    
    <configuration>
        <system.web>
            <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
        </system.web>
    </configuration>

     

    Wednesday, January 25, 2012 9:33 PM

Answers

  • muchas gracias ya,era simplemente que no había documento predeterminado, pero ya se lo puse y ya funciona bien.muchas gracias.
    • Marked as answer by jhoanna0627 Friday, January 27, 2012 4:59 PM
    Friday, January 27, 2012 4:58 PM
  • hola de nuevo:

    tambien he podido darme cuenta que si accedes desde cualquier equipo desde internet a una aplicacion alojada en el servidor, siempre sale este error cuando hay errores de programación, ahora especificaré cuales fueron los errores que corregi cuando a veces me salia este error, en mi caso era que en mi código tenía problemas con las comillas simples que hay que ponerles en la consulta, ejemplo en esta línea

    SQL="select * from usuarios where cedula=" & txtcedula.text 

    lo que hice fue que le puse la comilla simple, ya que esta sentencia en SQL Server necesita comillas simples antes y despues de un dato varchar, entonces la forma correcta de escribirlo sería:

    SQL="select * from usuarios where cedula='" & txtcedula.text & "'".

    Nótese la comilla simple antes de las comillas dobles, despues del igual y la comilla simple dentro de las dobles finalizando la instrucción.Tener en cuenta estos son errores muy comunes y que pueden pasar desapercibidos y aunque son muy simples de solucionar a veces se cometen y se dejan pasar, entorpeciendo el programa, esta puede ser una de las tantas causas por las que salga este error o por la otra respuesta de este error que tiene que ver con poner el validarusuario.aspx, valga aclarar que este "validarusuario.aspx" es el de mi aplicación, que alli se pone el login de cada aplicación, en el documento predeterminado del IIS y asi pueden seguir muchos más, pero que estos fueron los errores que solucione en mi aplicación.



    • Marked as answer by jhoanna0627 Thursday, February 16, 2012 7:20 PM
    • Edited by jhoanna0627 Thursday, February 16, 2012 7:22 PM
    Thursday, February 16, 2012 7:11 PM

All replies

  • Puede empezar por realizar el cambio de configuración que se detalla en esa página.  Así verá el error exacto en vez de este mensaje genérico.

    Si no gusta hacer eso, puede loguearse al servidor y revisar el log de sistema de aplicaciones usando el visor de eventos.  Ahí estará listado el error exacto.

    Una vez que sepa el error, proceda a corregir el código, recompilar, probar y publicar.

    Si ocupase ayuda específica una vez que haya identificado el error y las líneas de código relevantes, siéntase en libertad de preguntar en este foro.  Asegúrese de incluir la información (error y líneas de código).


    Jose R. MCP
    Thursday, January 26, 2012 12:36 AM
  • Hola Jhoanna, esta pagina te dice que hay un error pero no te va a mostrar la causa del error, para poder ver el verdadero motivo del error, debeshacer lo que te dice ahi, debes ir a tu archivo web.config y buscar la linea <customErrors mode="On"/> y cambiarla a  <customErrors mode="Off"/>   ahi  ya al ejecutar nuevamente, encontraras el verdadero mensaje de error y podremos ayudarte.

     

    Cordial saludo,

     


    Mauricio Atanache G. - MCP - MCC
    Bogotá - Colombia
    "Bienaventurados los Pesimistas. Por que hacen BACKUPS."
    Thursday, January 26, 2012 4:25 PM
  • muchas gracias
    Thursday, January 26, 2012 4:53 PM
  • hola:

    ya logre solucionar ese problemita, solo que al colocar en el url 190.0.35.186/xxx, me sale el siguiente error, que esta mal en la configuración del iis...muchas gracias.

    Error del servidor

    <fieldset style="padding-top: 0px; padding-right: 15px; padding-bottom: 10px; padding-left: 15px;">

    403 - Prohibido: acceso denegado.

    No tiene permiso para ver este directorio o esta página con las credenciales que ha proporcionado.

    </fieldset>

    Friday, January 27, 2012 1:26 PM
  • Ese error es un error del protocolo HTTP, así que es acertado pensar en IIS y no en ASP.net.  ¿Qué tipo de seguridad tiene establecida para el sitio web?
    Jose R. MCP
    Friday, January 27, 2012 1:34 PM
  • perdona mi ignorancia, pero es que la verdad apenas me estoy iniciando formalmente en esto  no se..., muchas gracias o no se si te refieres al tipo de autenticación, no, no se...
    Friday, January 27, 2012 2:00 PM
  • Corra la consola de administración de IIS y luego ubique su sitio web en el árbol de la izquierda.  Selecciónelo y haga clic derecho sobre él.  Seleccione Propiedades del menú contextual.

    En el cuadro Propiedades deberá tener una pestaña de Seguridad.  ¿Qué tiene seleccionado ahí?

    O bien, si el servidor es Windows Server 2008 R2 con IIS7, seleccione el sitio web a la iquierda y luego doble clic en Autenticación (o podría llamarse diferente; mis servidores están en inglés).


    Jose R. MCP
    Friday, January 27, 2012 2:46 PM
  • muchas gracias ay vamos mejorando lo voy a hacer, les iré comentando lo que va pasando, muchas gracias por su colaboración, este foro siempre me ha sido de gran ayuda...,el problema es que el jefe no me deja tocar ese computador, entonces no se como pretende que haga las correciones. pero bueno cuando el me autorice les estaré comentando gracias por sus intervenciones.
    • Edited by jhoanna0627 Friday, January 27, 2012 3:14 PM
    Friday, January 27, 2012 2:53 PM
  • muchas gracias ya,era simplemente que no había documento predeterminado, pero ya se lo puse y ya funciona bien.muchas gracias.
    • Marked as answer by jhoanna0627 Friday, January 27, 2012 4:59 PM
    Friday, January 27, 2012 4:58 PM
  • hola de nuevo:

    tambien he podido darme cuenta que si accedes desde cualquier equipo desde internet a una aplicacion alojada en el servidor, siempre sale este error cuando hay errores de programación, ahora especificaré cuales fueron los errores que corregi cuando a veces me salia este error, en mi caso era que en mi código tenía problemas con las comillas simples que hay que ponerles en la consulta, ejemplo en esta línea

    SQL="select * from usuarios where cedula=" & txtcedula.text 

    lo que hice fue que le puse la comilla simple, ya que esta sentencia en SQL Server necesita comillas simples antes y despues de un dato varchar, entonces la forma correcta de escribirlo sería:

    SQL="select * from usuarios where cedula='" & txtcedula.text & "'".

    Nótese la comilla simple antes de las comillas dobles, despues del igual y la comilla simple dentro de las dobles finalizando la instrucción.Tener en cuenta estos son errores muy comunes y que pueden pasar desapercibidos y aunque son muy simples de solucionar a veces se cometen y se dejan pasar, entorpeciendo el programa, esta puede ser una de las tantas causas por las que salga este error o por la otra respuesta de este error que tiene que ver con poner el validarusuario.aspx, valga aclarar que este "validarusuario.aspx" es el de mi aplicación, que alli se pone el login de cada aplicación, en el documento predeterminado del IIS y asi pueden seguir muchos más, pero que estos fueron los errores que solucione en mi aplicación.



    • Marked as answer by jhoanna0627 Thursday, February 16, 2012 7:20 PM
    • Edited by jhoanna0627 Thursday, February 16, 2012 7:22 PM
    Thursday, February 16, 2012 7:11 PM
  • Jhoanna,

    En esta línea haces que tu aplicación sea vulnerable a ataques por inyección de SQL:

    SQL="select * from usuarios where cedula='" & txtcedula.text & "'"

    No sé qué tecnología de acceso a datos estás usando, puede que sea ADO.Net o ADO clásico (por lo poco que veo de tu código, parece que es ADO clásico, estarás usando las clases ADODB.Command, ADODB.Connection, ADODB.Recordet; aunque también puede que estés usando SQLConnection, SQLCommand, SQLDataAdapter ó SQLDataReader). Lo que debes hacer es lo siguiente:

    SQL="select * from usuarios where cedula=?"

    Y luego, creas un parámetro (por ejemplo, asumiendo que trabajas conADO.Net y SQL Server):

    Dim cn as SqlConnection = New SQLConnection(myConnectionString)
    
    Dim cm as SQLCommand = New SQLCommand(SQL, cn)
    
    cm.Parameters.AddWithValue("cedula", txtcedula.text )
    


    Si la respuesta te ha servido, márcala como útil.

    Monday, February 20, 2012 3:09 PM
  • hola:

    mmmm no entiendo como asi que inyección SQL .No entiendo.Dime, lo que me dices que puede pasar tiene que ver es con la seguridad?, de que manera si el usuario no puede ver el código fuente o no se.Hasta lo que he visto se puede ver solo el codigo aspx, que tiene que ver con el diseño del formulario, pero nada más.Explicame, de todas maneras para aprender, ya me confundi.Muchas gracias.

    saludos

    Tuesday, February 21, 2012 2:47 PM
  • Inyección de SQL es cuando un atacante inserta instrucciones directamente al servidor de base de datos desde un campo en la página web.

    En tu código, estás uniendo el valor del control txtcedula a la instrucción SQL. Imagina que un atacante introduce este texto en el control txtcedula:

       ';xp_commandshell('DELETE C:\*:*');select '

    Al unirlo con tu código, la sentencia resultante es:

       select * from usuarios where cedula='';xp_commandshell('DELETE C:\*:* /Y');select ''

    Esta es una sentencia SQL válida. La primera parte no hace nada, pero la segunda parte ordena al servidor SQL que borre todo el contenido del disco C:

    Nunca debes concatenar el contenido de un campo a un comando de SQL.


    Si he contestado tu pregunta, por favor marca mi post como respuesta.
    ...Y si mi post te ha servido, márcalo como útil smile

    Wednesday, February 22, 2012 7:39 AM
  • Hola Ivan muchas gracias, ahora comprendo la utilidad de lo que me dices, es importante lo tendre en cuenta para cambiarlo en el código.
    Wednesday, February 22, 2012 5:29 PM
  • pero en donde se encuentra al archivo web.config?
    Saturday, December 21, 2013 2:39 PM