我們在做服務層時,經常會用到Web Service,但是這有個問題,容易被人惡意調用接口。
一種解決辦法是自己寫個驗證SoapHeader,屏蔽接口在網頁端調用,但使用這個方法別人還是能看到你的接口有哪些,也不安全,所以今天就寫出我的辦法屏蔽WSDL接口。
我用的是C#,其他語言的也可以參考我這個辦法,如果大家有更好的辦法,可以互相學習一下:
我們知道在網頁端網頁打開是使用GET方式,一般我們在使用Web Service是使用POST方式的,所以我們可以這樣做
在Web Service項目中添加Global文件,在Global文件中捕獲事件BeginRequest,如下
protected void Application_BeginRequest(object sender, EventArgs e) { HttpRequest obj = Request; if (obj.HttpMethod != "POST") Response.End(); }
我們來看下,實現前后的對比