Pregunta

Tengo una página y tiene métodos web. Puedo usarlos desde la página aspx a través de ScriptManager. Me pregunto si alguien puede acceder a estos métodos desde fuera de la página. Si es así, ¿cómo puedo asegurar WebMethods?

¿Fue útil?

Solución

Asegurar los métodos web por completo no es posible. Después de todo, si está accediendo a ellos desde su página web, se los puede acceder directamente desde el navegador del cliente.

Puede agregar un parámetro adicional que deba contener algún tipo de contraseña / token de un solo uso y generar uno cuando la página sea procesada. Eso hará que sea más difícil para alguien continuar usando su servicio web sin visitar su sitio.

Otros consejos

Sus métodos web tendrán el mismo tipo de seguridad que sus páginas web. Si necesita asegurarse de que se está accediendo de forma segura, verifique si hay una sesión válida, un usuario autenticado, etc. antes de permitir la acción. La solicitud al método web debe incluir las diversas cookies necesarias para determinar si el usuario que realiza la solicitud ha sido autenticado. Según la identidad del usuario autenticado, sus funciones, etc., puede determinar si la solicitud debe procesarse. Si está utilizando la configuración web para proteger sus páginas, la seguridad que se aplica a la página también debe aplicarse a los métodos web en la página.

Tenga en cuenta que no puede garantizar que alguien simplemente no emita la solicitud independientemente de un navegador (es decir, que la solicitud siempre se realice desde la interfaz de usuario de su aplicación). Debe realizar los mismos controles de seguridad que haría con cualquiera de sus páginas.

Tenga en cuenta que estoy hablando de la protección de los métodos web agregados a una página ASPX. Para servicios web , la autenticación y la autorización pueden manejarse de manera completamente diferente. Por ejemplo, pueden requerirse credenciales con cada solicitud y pueden ser parte de un " sobre " o un parámetro en el método en sí. Asegurar los servicios web es probablemente un tema para una pregunta propia.

Sí, al agregar el atributo WebMethod ese método se puede llamar de forma remota, lo que significa que puedes llamarlo usando javascript, por ejemplo. En pocas palabras, no debe exponer WebMethods a los que no desea que terceros puedan llamar. Pero para obtener más información sobre la seguridad y los servicios web, consulte: http: // msdn .microsoft.com / en-us / magazine / cc188947.aspx

Sí.

Pero puede Asegúralos fácilmente .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top