2016-01-04 174 views
0

想象一下黑客開始對網站進行強力攻擊的情況。該腳本將在3次嘗試後阻止蠻力(example),但也會檢查連接到MySQL的嘗試次數!另外,我們需要調用查詢來獲取此數量。防止類似於PHP的DoS攻擊的蠻力攻擊

我說得對不對?如果黑客會調用這個函數,服務器會被DoSed?

我知道我們可以限制與MySQL的最大連接,但其他用戶將無法登錄?

如何在傢伙未連接的情況下每10秒授予一次到MySQL的連接?

+0

您不會阻止用戶使用連接MAX進行登錄,您將根據首次請求的首次服務基準將它們放入隊列中。如果你擔心暴力攻擊,你會更好地使用Fail2ban,這將節制重複的罪犯,而不會對其他用戶產生顯着的影響。使用諸如Cloudflare之類的代理服務也將限制這些攻擊。 –

+0

非常感謝! A在我的MikroTik路由器/防火牆上有一個DDoS防禦系統,但是有什麼可以使用的腳本可以使用嗎? –

+0

您希望實現連接池,以便無論進行了多少次嘗試,都只需要少量的數據庫連接,然後重新使用。 –

回答

1

我認爲你在某種程度上是正確的。爲了使MySql斷開連接,您可以使用會話,並且您可以將IP地址列入黑名單或白名單,以便黑名單IP將被直接拒絕。

+0

嗯...我怎麼能用公共網站做到這一點?想象一下,現場每分鐘有超過999個新人。 –

+0

@ V.7你可以將IP存儲在數據庫中一次,並將白名單或黑名單列出,這樣3次嘗試將減少到1次嘗試 –

+0

好的。這是一個解決方案,但是這不是一個多DB過程,它會減少系統資源嗎? –