php session安全嗎?如何建一個安全的會話機制?

來源:互聯網
上載者:User
研究了幾天session安全,得出幾個觀點,請指正:

  1. 可以xss通過獲得cookie資訊,包含sessionid
  2. 可以通過截取http,獲得header資訊,包含sessionid
  3. 以上兩種法都有一定條件和難度
  4. 如果服務端單靠sessionid識別會話資訊,那麼通過xss擷取了sessionid後,會泄露使用者資訊,如果再通過ip,useragent資訊加以校正,可以減少風險
  5. 如果截取了http,換用https方式可以減少風險
  6. 即便是使用https,ssl認證也是可以偽造

結論:

  1. xss漏洞更低級一些,但是造成的風險很大。
  2. http截取,截取範圍很小,風險小。當然,截取到admin的資訊,那就不一樣了。
  3. http截取/ssl認證偽造的技術要求、環境要求較高,防治的成本也大。

回複內容:

研究了幾天session安全,得出幾個觀點,請指正:

  1. 可以xss通過獲得cookie資訊,包含sessionid
  2. 可以通過截取http,獲得header資訊,包含sessionid
  3. 以上兩種法都有一定條件和難度
  4. 如果服務端單靠sessionid識別會話資訊,那麼通過xss擷取了sessionid後,會泄露使用者資訊,如果再通過ip,useragent資訊加以校正,可以減少風險
  5. 如果截取了http,換用https方式可以減少風險
  6. 即便是使用https,ssl認證也是可以偽造

結論:

  1. xss漏洞更低級一些,但是造成的風險很大。
  2. http截取,截取範圍很小,風險小。當然,截取到admin的資訊,那就不一樣了。
  3. http截取/ssl認證偽造的技術要求、環境要求較高,防治的成本也大。

好吧,從來就沒有絕對安全的事兒.

  1. 可以xss通過獲得cookie資訊,包含sessionidkey:cookie有自己的httpOnly.(之前apache也曝過一個漏洞:發送的cookie過長會把cookie給返回,即使httpOnly,現在已經修複)退一步講,你應該首先避免xss漏洞.

  2. 可以通過截取http,獲得header資訊,包含sessionidkey:改用https,防止中間人(這個也沒有絕對的安全,SSL認證也曾被駭客偽造,不過一般人可幹不了這個事兒)

  3. 如果服務端單靠sessionid識別會話資訊,那麼通過xss擷取了sessionid後,會泄露使用者資訊,如果再通過ip,useragent資訊加以校正,可以減少風險

key:可以避免他拿到了session後在自己的ip上實現.不過,既然他都拿到xss了,對於跨站師來說,拿使用者資訊幾乎不費吹灰之力,關鍵是如何避免XSS,大門都給小偷開啟了,你還想著要給保險箱上一把鎖,現在的小偷可是拿的是大鐵鍾!

  1. 如果截取了http,換用https方式可以減少風險

    嗯,我同意

  2. 即便是使用https,ssl認證也是可以偽造Key: 成功偽造認證的人少之又少.SSL相對絕大部分應用來說,其安全性已經足夠了.

綜上,session的本身的安全在於外圍的安全性.其本身是安全的.安全的會話機制最關鍵的還是要避免一些常見的漏洞:XSS,CSRF(這隻是我經常遇到的,無論大站還是小站,這方面問題最多)

  1. XSS可以通過給sessionid cookie設定 httponly 來防止。
  2. 監聽http包的,校正IP是一種還不錯的辦法。因為通常用session做登入都不會持續很長時間,IP通常不會發生變化。admin登入的話,最好不要與前台系統做在一起,獨立網域名稱、特殊連接埠、限制IP/VPN內網、手機簡訊隨機驗證碼等等方法都可以增強安全性。
  3. https的偽造認證監聽,這個貌似只能擷取到被欺騙使用者提交的資料,因為認證本身驗證的是伺服器端的可信度。當然如果已經把用戶端與服務端網路完全切斷,加入了中間代理並偽造了伺服器憑證,這個應該仍然可以通過認證IP、SSL用戶端認證來解決……這個不是很明白,懇請大神講解。

另外,sessionid的隨機性不夠被猜到也是session的潛在安全問題之一。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.