2009年11月30日 星期一

[php]httponly 防止 XSS 擷取cookie

PHP中的設置
  PHP5.2以上版本已支持HttpOnly參數的設置,同樣也支持全局的HttpOnly的設置,在php.ini中
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  設置其值為1或者TRUE,來開啟全局的Cookie的HttpOnly屬性,當然也支持在代碼中來開啟:
  -----------------------------------------------------
  <?php
  ini_set("session.cookie_httponly", 1);
  // or
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
  ?>
  -----------------------------------------------------
  Cookie操作函數setcookie函數和setrawcookie函數也專門添加了第7個參數來做為HttpOnly的選項,開啟方法為:
  -------------------------------------------------------
  setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  對於PHP5.1以前版本以及PHP4版本的話,則需要通過header函數來變通下了:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>

【下列文章您可能也有興趣】

沒有留言: