我用這種方法得到訪客ip Request.UserHostAddress.ToString()
可以Request.UserHostAddress.ToString()被欺騙嗎? asp.net 4.0 - iis 7.5
是否有任何機會,它可以被欺騙或用於SQL注入。什麼是風險和可能性。謝謝。
asp.net 4.0,C#4.0,IIS 7.5
我用這種方法得到訪客ip Request.UserHostAddress.ToString()
可以Request.UserHostAddress.ToString()被欺騙嗎? asp.net 4.0 - iis 7.5
是否有任何機會,它可以被欺騙或用於SQL注入。什麼是風險和可能性。謝謝。
asp.net 4.0,C#4.0,IIS 7.5
否。IP來自帶有Web服務器的套接字。它不能被欺騙(多於一個請求)。如果IP被欺騙,客戶端只能向服務器發送請求,並且永遠不會看到回覆。
我看不出如何在SQL注入中使用它,即使它是直接在SQL語句中使用。這是一個IP地址,即使它是假的,也不能是SQL代碼。
摘要:
欺騙:如果用戶在你的網站導航(使更多然後一個頁面調用)。然後他的IP需要是正確的(沒有欺騙)。
注入:用戶不能在UserHostAddress中放入任何值:它需要是IP地址,因此如果注入到SQL語句中則不會造成危害。
的IP地址本身可能是虛假的,但極不可能的。
它不能用於SQL注入。
是的,我直接使用它,如選擇或插入。這就是爲什麼我問。如何可能被欺騙,如「刪除***」?這怎麼可能= – MonsterMMORPG
在這種情況下,你沒有什麼可擔心的。 – ChrisBint
ChrisBint你說它可以被欺騙,並改變,然後你說它不能。你真的有這個經驗嗎? – MonsterMMORPG
你能提供一個「IP來自帶有Web服務器的套接字」的鏈接嗎?我很感興趣,但似乎無法找到任何東西。 –
Web服務器使用的應用程序協議是HTTP,它通過建立傳輸控制協議(TCP)來發起請求。您會看到TCP使用三次握手來建立客戶端(瀏覽器)和服務器之間的連接。這不能用欺騙IP地址來完成。一旦建立連接,服務器就知道客戶端的IP地址,並且它將發送回覆(html)。 http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Connection_establishment –
以下是HTTP請求中的信息列表,您可以看到IP不在此處。這是不需要的,因爲它是從TCP獲知的。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14 –