關於安全性;我是否應該檢查每個頁面中發送的變量的數量,發送的變量的大小以及如果在頁面中不需要的情況下阻止GET,例如。PHP:濫用POST和GET
我的意思是也許有人發送非常大的文本很多次作爲GET變量超載我的服務器。
可能嗎?我能做些什麼呢?
關於安全性;我是否應該檢查每個頁面中發送的變量的數量,發送的變量的大小以及如果在頁面中不需要的情況下阻止GET,例如。PHP:濫用POST和GET
我的意思是也許有人發送非常大的文本很多次作爲GET變量超載我的服務器。
可能嗎?我能做些什麼呢?
使用GET
請求無法發送海量數據(Apache的默認值爲8000個字符,check browser limitations here)。如果你沒有使用$_GET
參數的任何地方,那麼它對服務器的影響就基本沒有了。這裏重要的是每秒請求數。普通用戶不會產生大量的請求。
如果您正在尋找安全漏洞,請從上傳的文件執行限制(like PHP code in image.jpg
)和其他不安全的文件訪問,XSS attacks,weak passwords generation等等開始。
在OWASP的兩篇文章中進行鏈接,以便OP引用您描述的攻擊類型,並且您可以從我這裏得到一個讚揚。 – 2015-03-25 13:01:57
@ʰᵈˑ更新了資源鏈接 – Justinas 2015-03-25 13:09:39
我的回答你的問題有些鏈接到您的評論:
不,我很擔心黑客
安全明智的,我認爲你應該檢查和優化的第一件事就是網站結構。你提到的問題非常具體,在一定程度上可能有所幫助,但可能不會是他們的主要攻擊。
您可以在服務器配置中的某個地方始終限制GET請求(對於大多數服務器,默認情況下大約爲8KB)。您也可以創建一個自定義的414
,解釋請求長度較短的原因。總而言之,如果您的目標是安全的話,我會從其他地方開始(更廣泛的圖片),然後慢慢解決我的方式,直到我達到核心。
POST/GET值在大多數語言中的處理方式存在很大問題,包括可能通過專門製作的請求導致DOS攻擊的PHP。它首先在this talk中討論過(幻燈片可用here)。
您還可以閱讀關於它here和here。主要想法是POST/GET是數組,並且使用哈希表存儲數組。攻擊者可以通過有目的地創建衝突(數據具有相同的散列值)來創建DOS,這會導致大量計算。
但是這不是應該在應用程序級別處理的東西,所以作爲PHP編碼器的您不必擔心它。上述問題是PHP處理哈希表的一個問題,但您也可以通過限制PHP配置中POST/GET請求的大小來防止它。
如果您擔心DDoS,這也不必由您的應用程序代碼來處理,而是從外部(例如防火牆)處理。
你爲什麼使用'GET'發送大量數據? – 2015-03-25 12:20:00
@Testing不,我很擔心黑客 – omidh 2015-03-25 12:20:57
,您應該考慮使用會話和IP地址以及流量來檢查用戶發送的呼叫的數量和類型。可能你可以控制數據的過載。但是你仍然需要考慮一些安全因素。 – 2015-03-25 12:27:25