Para el análisis de HttpOnly sobre XSS para obtener información de cookies, consulte el escrito de Kenshin: Uso de httpOnly para mejorar la seguridad de aplicaciones.
Ajustes en javaEE:
No hay un método de operación o atributo de función específico en la API, y no sé si se proporcionará en futuras versiones; lo siguiente es una solución alternativa:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Camino=/; Domain=neeao.com; Edad máxima=segundos; HTTPOnly");
————————————————————————————–
Ajustes en ASP.NET .NET 2.0 y versiones superiores soportan configurar el httponly global en el archivo Web.config, que se configura de la siguiente manera, solo hay que añadir un nodo al web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ En el objeto de cookies .net 2.0 o posterior, existe un parámetro HttpOnly directo para llamar, y el método de uso es el siguiente: Código C#: ------------------------------------------------------------------ HttpCookie miCookie = nueva HttpCookie("miCookie"); myCookie.HttpOnly = true; Respuesta.AppendCookie(miCookie); ------------------------------------------------------------------- vb.net código ------------------------------------------------------------------- Dim myCookie Como HttpCookie = nueva HttpCookie("miCookie") myCookie.HttpOnly = True Respuesta.AppendCookie(miCookie) ------------------------------------------------------------------- En asp.net 1.1 también puedes configurar las cookies globales HttpOnly para añadir el evento Application_EndRequest del nodo de aplicación del archivo global Global.asax: ------------------------------------------------------------------- Vacío protegido Application_EndRequest(Object sender, EventArgs e)
{ cadena authCookie = FormsAuthentication.FormsCookieName; foreach (cadena sCookie en Response.Cookies) { si (sCookie.Iguales(authCookie)) { Response.Cookies[sCookie]. Camino += "; Solo Http"; } } } ------------------------------------------------------------------- Si lo escribes en el código, tienes que añadirlo así: -------------------------------------------- Response.Cookies[cookie]. Camino += "; HTTPOnly"; --------------------------------------------- Ajustes en PHP Las versiones de PHP5.2 y superiores ya soportan la configuración de parámetros HttpOnly y también la configuración global de HttpOnly en php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Establece su valor en 1 o TRUE para habilitar el atributo HttpOnly de la cookie global, y por supuesto también puedes activarlo en el código: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); o session_set_cookie_params(0, NULO, NULO, NULO, VERDADERO); ?> ----------------------------------------------------- La función de operación cookie setcookie y setrawcookie también añade el séptimo parámetro como opción para HttpOnly, y el método de apertura es: ------------------------------------------------------- setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); setrawcookie("abc", "prueba", NULO, NULO, NULO, NULO, VERDADERO); ------------------------------------------------------- Para las versiones de PHP anteriores a la 5.1 y PHP4, necesitas usar la función de encabezado para hacer cambios: ------------------------------------------------------------- <?php encabezado("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP No hay métodos relevantes proporcionados en los objetos integrados de asp, así que solo puedes implementarlo como una solución alternativa: -----------------------------------------------------<% ‘************************************************** 'Salida ASP: httponly cookie IE6.0 o superior soporte de navegador 'WDFrog ‘2009-04-15 '<meta http-equiv="Type-Content" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- 'Función: Establecer cookies solo http 'Parámetros: expDate es la expiración de la garantía, 0 significa no ajustado, y fijado a un tiempo determinado en el pasado significa liquidación 'argumento: el dominio está vacío (cadena. Vacy) significa no fijado ‘——————————————————————- Función SetHttpOnlyCookie(NombreCookie, ValorCookie, dominio,camino,FechaExpFecha) Galleta Dim cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; camino=" & camino Si expDate <> 0, entonces galleta=galleta & "; expires=" & DateToGMT(expDate) Fin Si
Si el dominio <> "" Entonces galleta=galleta & "; dominio=" & dominio Fin Si
galleta=galleta & "; Solo Http"
Call Response.AddHeader ("Set-Cookie", cookie) Función final
'————-getGMTTime———— 'Parámetros: sDate es el tiempo que debe convertirse a GMT ‘——————————— Función FechaAGMT(sFecha) Dim dWeek, dMonth Dim strZero, strZone strZero="00" strZone="+0800" dSemana=Arreglo("Sun", "Mon", "Tue", "Wes", "Jue", "Vie", "Sáb") dMes=Array("Enero", "Feb", "Mar", "Abril", "Mayo", "Jul", "Agosto", "Sep", "Octubre", "Nov", "Diciembre") FechaDeGMT = dSemana(SemanaDía(sFecha)-1)&", "&Derecha(strZero&Día(sFecha),2)&" "&dMes(Mes(sFecha)-1)&" "&Año(sFecha)&" "&Derecha(strZero&Hora(sFecha),2)&":"&Derecha(strZero&Minuto( sFecha),2)&":"&Derecha(strZero&Second(sFecha),2)&" "&strZone Función final ' Referencia 'Llama a SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Referencias: 1.http://www.owasp.org/index.php/HTTPOnly 2.http://blogs.msdn.com/dansellers/archive/2006/03/13/550947.aspx 3.http://ilia.ws/archives/121-httpOnly-cookie-flag-support-in-PHP-5.2.html 4.http://www.asp101.com/tips/index.asp?id=160 5.http://www.cnblogs.com/wdfrog/archive/2009/04/15/1436493.html |