"테스트 양식은 로컬 컴퓨터의 요청에만 사용할 수 있습니다."
.Net에서 웹 서비스를 만들었으므로 서비스 파일의 주소에는 작동 방식에 대한 멋진 자동 생성 설명이 있습니다. 컴퓨터에서 페이지를 실행할 때 호스팅되는 페이지에는 테스트 값을 서비스에 제출하는 데 사용할 수있는 양식도 있습니다. 그러나 원격 컴퓨터에서는 양식을 숨기고 위에서 본 것처럼 메시지를 제공합니다.
이것에 요점이 있습니까? 나는 이것을 "더 안전하다"라고 부르는 다른 사이트를 보았다. 그러나 당신이 내게 물어 보면 누구든지 쉽게 자신의 양식을 만들 수있다.
메타 데이터를 게시하고 공개 / 비보안 웹 서비스 인 경우, 누구든지 간단한 클라이언트를 생성하여 웹 서비스를 망치는 것이 충분히 쉬울 것입니다. 이 경우 웹 클라이언트를 로컬 컴퓨터에서만 생성하는 것은 성가신 것처럼 보입니다.
그러나 서비스가 비공개이고 보안이 유지되는 경우 서버 및 서비스 이름을 가진 모든 사람에게 잠재적으로 데이터에 액세스하고 모든 종류의 해를 끼칠 수있는 인증 된 클라이언트를 제공하는 것은 엄청난 보안 허점이 될 것입니다.
서버 자체에서만 ASMX 웹 서비스 용 UI를 생성하는 정책이 우발적 인 보안 허점을 제거하면서 멋진 도구를 제공하려는 시도라고 생각합니다. WCF는이 문제를 해결했습니다. 메타 데이터가 게시 된 경우에만 클라이언트를 생성 할 수 있으며 서비스에 액세스하려면 올바른 보안을 구현해야합니다.
web.config
다음 노드를 포함하도록 수정하여이 문제를 해결할 수 있습니다 .
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
이렇게하면 브라우저를 통해 .asmx 웹 서비스를 방문 할 수 있습니다. 그런 다음 브라우저에서 바로 웹 서비스를 호출하고 인수를 전달하고 결과를 볼 수 있습니다.
참고로 .NET 4.0을 사용하고 있으며 동일한 문제가 발생했습니다.
그러나 나는 ...
<add name="HttpSoap12"/>
<add name="HttpSoap"/>
<add name="HttpGet"/>
<add name="HttpPost"/>
같은 영역에서 작동했습니다. 그러나 정당 HttpGet
하고 HttpPost
그렇지 않았습니다.
'IT TIP' 카테고리의 다른 글
Alamofire를 통해 json 배열 보내기 (0) | 2020.12.09 |
---|---|
Xcode-장치 폴더를 무료로 지울 수 있습니까? (0) | 2020.12.09 |
라이브러리를 포함하려고하지만 '정의되지 않은 참조'메시지가 계속 표시됩니다. (0) | 2020.12.09 |
SAX 파서를 사용하여 XML을 구문 분석하는 방법 (0) | 2020.12.09 |
뷰 컨트롤러간에 페이드 / 전환 없음을 어떻게 수행합니까? (0) | 2020.12.09 |