公司擁有C#編寫的ASP.Net一個基於SOAP的WebService的4它是一個很好的做法,在響應返回原來的請求返回
最初的開發者留下了一段時間了,不幸的是把它放在一個極其凌亂州。保持它是絕對的噩夢,所以我正在進行重構。
一路上我注意到,他已經編碼的響應,包括用於訪問該服務的原始請求,包括用戶名和密碼(這是第2個參數的所有Web方法存在此API中)
由於我正在考慮重新構建基礎結構,我想詢問是否有人知道返回原始請求的做法是否正常?
對我來說,這似乎是一個等待發生的安全問題? 其他人是否發回原始請求減去安全信息?
注:據我所知,這是傳統技術,但可惜我不是在一個位置,從地面重新寫了整個事情了:-(
感謝, 加里
。例(SOAP XML略去了):
REQUEST:
POST our-web-service/Products.asmx/Details
username=TEST_USER&password=TEST_PASSWORD&productId=12345
RESPONSE:
<Response IsValid="True">
<Product id="12345">
<Name>Test Product 1</Name>
<Category>General</Category>
....
</Product>
</Product>
<OriginalRequest>
<Username>TEST_USERNAME</Username>
<Password>TEST_PASSSWORD</Password>
<ProductId>12345</ProductId>
</OriginalRequest>
</Response>
恕我直言,這是沒用的,也是危險的 – giammin
我只能在調試代碼中看到它的用途,只是爲了確保請求被解釋爲它的意思。對於生產代碼,它不應該真的需要在那裏。 (雖然如果它包含在回覆中是一種安全風險,那麼它首先在請求中也是如此,因爲在這一點上,可以肯定你沒有使用SSL:P你只是告訴客戶端它已經知道了......) – cHao
@cHao謝謝你,我只是想要一些外部意見。僅供參考,生產API只能在https上運行 –