the test sólo solicitudes requests publicar prueba para only máquina machine las from formulario form for está disponible available .net web-services security

.net - test - publicar web service en iis



"El formulario de prueba solo está disponible para las solicitudes de la máquina local". (4)

Si está publicando metadatos y es un servicio web público / no seguro, tiene razón, sería bastante fácil para cualquiera generar un cliente simple para utilizar su servicio web. En ese caso, tener el cliente web solo generado en la máquina local parece una molestia.

Sin embargo, si su servicio es privado y seguro, sería un gran vacío de seguridad, ya que le daría a cualquiera el nombre del servidor y el servicio a un cliente autenticado para acceder potencialmente a sus datos y hacer todo tipo de daños.

Imagino que la política de generar la interfaz de usuario para los servicios web de ASMX solo en el servidor en sí era un intento de proporcionar algunas herramientas útiles a la vez que eliminaba los agujeros de seguridad accidentales. WCF ha eliminado esto en cualquier caso, puede generar clientes solo si los metadatos están publicados, y necesitan implementar la seguridad correcta para poder acceder a los servicios.

Creé un servicio web en .Net y la dirección del archivo de servicio tiene una ingeniosa explicación generada automáticamente sobre cómo funciona. Cuando ejecuto la página desde la máquina en la que está alojado, incluso tiene un formulario que puedo usar para enviar valores de prueba al servicio. Sin embargo, en máquinas remotas, oculta el formulario y muestra el mensaje como se ve arriba.

¿Hay un punto para esto? He visto otros sitios llamar a esto "más seguro", pero cualquiera podría crear sus propios formularios fácilmente haciendo esto nada más que una molestia si me preguntas.


Solo para FYI estoy usando .NET 4.0 y tuve el mismo problema.

Sin embargo, yo usé ...

<add name="HttpSoap12"/> <add name="HttpSoap"/> <add name="HttpGet"/> <add name="HttpPost"/>

En esas mismas áreas y funcionó. Pero con solo HttpGet y HttpPost no fue así.


Puede solucionar este problema modificando su web.config para incluir estos nodos:

<configuration> <system.web> <webServices> <protocols> <add name="HttpGet"/> <add name="HttpPost"/> </protocols> </webServices> </system.web> </configuration>

Esto le permitirá visitar el servicio web .asmx a través de su navegador. A continuación, puede invocar los servicios web directamente en su navegador, pasar argumentos y ver los resultados.