2010-11-19 4 views
2

연락처 양식과 유사하지만 일부 기능이있는 특정 주소로 전자 메일을 보내는 복잡한 공용 웹 서비스를 WCF에 구축하고 있습니다. jQuery를 사용하여 텍스트 상자에서 데이터를 가져오고 Ajax와 json을 사용하여 보내기시 진행할 문자열을 웹 서비스에 보냅니다.WCF 공용 웹 서비스의 보안

이제 보안을 강화하는 좋은 방법이 있습니까?

나는 서비스가 공개되어 누군가가 액세스 할 수 있고이 주소에서 스팸을 보내기 시작할 수 있음을 의미합니다. 올바른 웹 사이트에서만 웹 서비스를 사용하도록 사용자를 제한 할 수 있습니까?

감사합니다.

답변

3

작업을 실행하려면 웹 서비스에 몇 가지 유형의 액세스 키가 필요합니다.

base64로 인코딩 된 GUID와 같은 간단한 것이 작동합니다. 변화시킬 필요조차 없습니다. "AccessKey"또는 이와 비슷한 매개 변수를 추가하기 만하면됩니다. 앱이 그것을 통과하게하고 서비스가 유효 함을 확인하게하십시오.

또 다른 아이디어는 웹 서비스가 http 헤더를 검사하여 사용 권한이있는 페이지에서 왔는지 확인하는 것입니다.


어느 쪽도 완벽하지 않습니다. 첫 번째는 "키"가 클라이언트에 보내는 HTML 내부에 있음을 의미합니다. 두 번째 것은 스푸핑 될 수 있습니다.

개인적으로, 나는이 수준에서 성가 시게하지 않고 서비스가하는 일을 기록합니다. 서비스에 대한 트래픽 카운트가 귀하가 생각하는 것보다 많아지면,이를 완화 할 방법을 조사 할 것입니다. 대부분의 경우, 서비스이므로 어떤 문제도 볼 수 없습니다.

+0

http 헤더로 완벽하게 작동합니다! 감사. –

+0

Stefan P. 대답도 괜찮 았습니다. 감사합니다 –

+0

요청과 함께 GUID를 보냈을 때 SSL을 통해 GUID가 가로 챌 수 있습니까? –

6

IIS에서 WCF 서비스가 호스팅되는 경우 특정 IP 주소에서만 호출을 허용 할 수 있습니다. IIS의 디렉터리 보안 설정을 확인하십시오.