2014-11-20 71 views
0

我有一個網站,這是4年以前感染了病毒,創造了許多線程和假冒用戶在ASP.NET社區希望(!):/論壇/會員/更好的花,Delivery- Your-Flower-Delivery-c-uj.aspx。如何阻止無效請求

這個網站是2年前重新設計,ASP.NET社區在全部拆除,但現在有很多請求被去我的網站(每2小時300個這樣的虛假請求)!

當然請求者(機器人)中得到HTTP 404,但發送和發送這樣的請求。是否有阻止這些請求的能力?我爲什麼要這樣做?

  1. 我使用Azure上。所以,我支付每個傳入的數據/ CPU時間以處理請求。
  2. 這些請求增加了垃圾統計,所以我應該檢查它是什麼。
+0

如果認爲這將更適合ServerFault,因爲應該在服務配置級別而不是在asp.net編程級別解決此問題。 – Filburt 2014-11-20 20:04:37

+0

嗯,如何在Azure上做到這一點? – 2014-11-20 20:06:15

+0

這就是我認爲在SF的專業人士將能夠告訴你。只需標記你的帖子以獲得mod的關注,並要求將它遷移到那裏。但當然你可以稍等一下,看看它是否在這裏得到了答案。 – Filburt 2014-11-20 20:11:44

回答

0

你可以嘗試做這樣的事情:

  1. OnBeginRequest事件,與包含該用戶藏在裏面領域和一些特殊生成的數字或字符串只有一個HTML形式發送給用戶一個假頁面在頁面加載後自動發送這個表格回到你的服務器由js。
  2. 在您的服務器,檢查這個生成的號碼,如果它是適用於該用戶生成的Cookie,通知您的系統,這是真正的用戶,有一個瀏覽器。

  3. 所以,如果用戶有你生成的cookie與你產生的通行證,你是讓你的服務器來處理此請求,如果沒有,拒絕它。

此方法允許您控制系統處理哪個請求,因爲通常機器人不會處理響應。

最好的問候,迪馬。

+1

這會不會通過增加額外的服務器跳數來導致負載的大幅增加?因爲'所以,我支付每個傳入的數據/ CPU時間來處理請求。「 – alykins 2014-11-20 20:21:22

+0

您只會在一段時間內(用戶生成的cookie有效期)爲用戶執行此操作。將cookie添加到客戶端後,此cookie將與每個請求一起傳遞(此cookie將僅包含您的唯一編號或字符串,因此它將是非常小的cookie),因此您只需檢查該cookie是否存在即可很好,這個請求可以被處理。當然,您可以測試此解決方案並嘗試儘可能優化。但它只是您可以看到的方式,但我希望您能找到針對您的問題的更優雅的解決方案。 – 2014-11-20 21:18:38

+0

我只是一個傳球者而且好奇 - 謝謝你的解釋;我希望它也可以幫助OP。 – alykins 2014-11-20 21:33:25