2008-09-10 15 views

Respuesta

11
Response.AddHeader "Set-Cookie", "mycookie=yo; HttpOnly" 

Otras opciones como expires, path y secure pueden añadirse también de esta manera. No conozco ninguna forma mágica de cambiar toda tu colección de cookies, pero podría estar equivocado al respecto.

1

Debe agregar "; HttpOnly" a la colección de cookies de respuesta.

+3

No está claro, un poco de código sería grande –

-1

HttpOnly hace muy poco para mejorar la seguridad de las aplicaciones web. Por un lado, solo funciona en IE (Firefox "lo admite", pero aún divulga cookies a Javascript en algunas situaciones). Por otro lado, solo previene un ataque "drive-by" contra su aplicación; no hace nada para evitar que un ataque de script entre sitios restablezca las contraseñas, cambie las direcciones de correo electrónico o realice pedidos.

¿Lo debería usar? Por supuesto. No va a hacerte daño. Pero hay 10 cosas que debes estar seguro de que estás haciendo antes de empezar a jugar con HttpOnly.

+1

Sí, lo sé. Pero agregar una capa más de protección nunca duele. –

+5

No creo que esto sea cierto ahora en 2012 – Philluminati

14

Si ejecuta sus páginas ASP clásicas en IIS 7/7.5, puede usar el módulo de reescritura de URL de IIS para escribir una regla para hacer que sus cookies sean HTTPOnly.

pegue lo siguiente en la sección de su web.config:

<rewrite> 
    <outboundRules> 
     <rule name="Add HttpOnly" preCondition="No HttpOnly"> 
      <match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" /> 
      <action type="Rewrite" value="{R:0}; HttpOnly" /> 
      <conditions> 
      </conditions> 
     </rule> 
     <preConditions> 
      <preCondition name="No HttpOnly"> 
       <add input="{RESPONSE_Set_Cookie}" pattern="." /> 
       <add input="{RESPONSE_Set_Cookie}" pattern="; HttpOnly" negate="true" /> 
      </preCondition> 
     </preConditions> 
    </outboundRules> 
</rewrite> 

Vea aquí los detalles: http://forums.iis.net/t/1168473.aspx/1/10

Para el fondo, HTTPOnly Las cookies son necesarias por razones de cumplimiento de PCI. Los usuarios de estándares PCI (para la seguridad de la tarjeta de crédito) le hacen tener HTTPOnly en sus cookies de sessionID al menos para ayudar a prevenir ataques XSS.

Además, en este momento (2-11-2013), todos los principales navegadores admiten la restricción HTTPOnly en las cookies. Esto incluye las versiones actuales de IE, Firefox, Chrome y Safari.

Consulte aquí para obtener más información sobre cómo funciona esto y el apoyo de diversas versiones de navegadores: https://www.owasp.org/index.php/HTTPOnly

0
Response.AddHeader "Set-Cookie", ""&CStr(Request.ServerVariables("HTTP_COOKIE"))&";path=/;HttpOnly"&"" 
Cuestiones relacionadas