2011-09-16 66 views
0

我想知道曾經的以及在傳統的ASP所有會議和可能的黑客攻擊

,如果我有這樣

<form action="login.asp" method="post"> 
<input type="text" name="username" value="" /> 
<input type="password" name="password" value="" /> 
</form> 

,並在頁面的login.asp我檢查形式,如果用戶名和密碼是否正確我給一個會話(「的loggedIn」)的值

然後在everypage我檢查該會議,併爲該值

我的問題 - 是正確的,最常見的安全的事情呢?或者我想念什麼?

回答

0

這是非常標準的,你可以使用SSL和更好的安全性。你也可以擁有另一個會話值/ cookie,它是用戶IP地址和其他祕密值的散列,並檢查每個請求的IP地址。

+0

兩個問題:怎麼樣hijeck或服務器會話變量的黑客?第二:如果我在表單中有他的ip,然後我在服務器端檢查它爲散列 - 它將始終是相同的,不是嗎? –

+0

是的,IP將是相同的,但是如果您將遠程IP與祕密值一起散列,那麼攻擊者不應該在不知道祕密值的情況下欺騙該值。 SSL有助於防止劫持。至少中間或網絡上沒有任何東西可以輕鬆瀏覽瀏覽器流量並查看價值。 – drew010

+0

你能舉個例子說明ip和祕密值的組合嗎? –

0

我終於移動到.NET(好的和壞的......我喜歡經典的ASP),但我如何處理它在傳統的ASP,使其管理的是:

創建一個包含文件,如下所示:

if (nz(session("users.userid"))=0) then 
    'PUT YOUR LOGIN CODE HERE 
    session("users.userid") = userId 
else 
    'CODE TO DISPLAY LOGIN FORM 
    response.end 
end if 

將此包括在應該安全的每個頁面的頂部。如果他們沒有登錄,它會拋出登錄表單。顯然你可以使這個比這更有用,但是這點我可以解釋清楚。