2016-11-18 34 views
2

我想找到驗證HTTP請求內容到達服務器之前的通用方法。如何驗證Web服務的請求內容?

目標是爲產品提供強大的安全性。

我有一個暴露給公衆的API,我想通過允許以下規則的任何代理來過濾到我的API的請求。

例如我的API方法之一:

POST: my_server/data/colection 
application/json 

{ 
    "key1": "stringValue", 
    "key2": 2, 
    "key3": true 
} 

我想驗證以下事實:

  • 請求體是有效的JSON對象
  • 「KEY1」 是一個字符串,需要,允許[az,0-9],最大長度爲50個字符。
  • 「KEY2」是數字的,必須的在1-1000
  • 「KEY3」的範圍是布爾值,可選

如果內容或模式請求的上述不適合的標準我要拒絕具有適當狀態碼的請求。

是否有任何服務或代理模塊(nginx,haproxy或任何其他)允許做這樣的事情?

P.S.即使部分解決方案可能會奏效

回答

0

這是Web應用程序防火牆(wafs)的典型功能。市場上有很多,我不想公佈其中的任何一個,但大多數可以做到這一點以及其他很好的安全功能(如根據其內部規則過濾潛在的攻擊,或收集和共享威脅情報互聯網)。

需要考慮的三件事情是相對較高的價格標籤,正確設置它的努力,以及它們並不完美的事實,即。雖然他們可能會在某種程度上防止說XSS,但如果受保護的應用程序易受攻擊,那麼最有可能是圍繞waf中的篩選器。但它確實提高了標準。我不太熟悉api網關,但我懷疑其中一些可能還提供了這個參數類型和範圍實施功能(沒有由完整的waf提供的其他方面的保護)。

相關問題