Un poco antes de lo esperado, esta última actualización de Firefox (2.0.0.5), finalmente incluye el soporte para cookies HttpOnly.
Ejemplos de uso en ASP.NET y PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Response.Cookies["Demo"].Value = "Prueba";
Response.Cookies["Demo"].Secure = true;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpOnly Firefox 2.0.0.5</title>
<script type="text/javascript">
alert(document.cookie);
</script>
</head>
<body>
</body>
</html>
// PHP 4
setcookie('foo', 'test', null, '/;HttpOnly');
/*
PHP 5
setcookie('foo', 'test', null, null, null, true);
// o
ini_set("session.cookie_httponly", 1);
// o
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>HttpOnly Firefox 2.0.0.5</title>
<script type="text/javascript">
//<![CDATA[
alert(document.cookie)
//]]>
</script>
</head>
</html>
Como mencioné anteriormente, esta característica no es la panacea para evitar el robo de cookies a través de XSS, pero por lo menos reducirá un poco los vectores de ataque.