
{"id":1559,"date":"2011-10-08T18:19:26","date_gmt":"2011-10-08T21:19:26","guid":{"rendered":"http:\/\/www.talsoft.com.ar\/?p=1559"},"modified":"2011-10-08T18:19:26","modified_gmt":"2011-10-08T21:19:26","slug":"%c2%bfporque-utilizar-cookies-seguros","status":"publish","type":"post","link":"https:\/\/www.talsoft.com.ar\/site\/es\/%c2%bfporque-utilizar-cookies-seguros\/","title":{"rendered":"\u00bfPorqu\u00e9 utilizar Cookies \u00abSeguros\u00bb?"},"content":{"rendered":"<p>Uno de los problemas que presentamos los desarrolladores es el control de los Cookies usados en transacciones seguras.<br \/>\nEl primer inconveniente que se presenta cuando usamos cookies bajo protocolo SSL o TSL (el conocido HTTPS cion la S al final de \u00absecure\u00bb) es que estos cookies si no tomamos las debidas precauciones en el manejo de los mismos, persisten si el usuario deja la transacci\u00f3n segura para continuar visitando otras \u00e1reas de nuestro sitio, lo que convierte su contenido en interceptable.<\/p>\n<p>Otro de los casos que permite revelar las cookies que pasan a trav\u00e9s de una conexi\u00f3pn segura y que adem\u00e1s es muy com\u00fan, es aquel en el que en una misma p\u00e1gina solicitada por HTTPS, solicitamos recursos por simple HTTP, como por ejemplo una imagen en una cabecera que se usa indistintamente en p\u00e1ginas seguras y no seguras. En la cabecera HTTP de la solicitud de dicha imagen el servidor env\u00eda todos los cookies del dominio que hace la solicitud en los cuales por supuesto incluye aquellos que se usan para el control de sesi\u00f3n y otras variables de la aplicaci\u00f3n \u00abya no tan segura\u00bb.<\/p>\n<p>Es importante recordar que el protocolo HTTP es \u00abstateless\u00bb o en otras palabras, no maneja estado de sesi\u00f3n, por lo que cada conexi\u00f3n se realiza como si fuera la primera. Precisamente para poder emular un estado de sesi\u00f3n es que las diferentes plataformas de desarrollo utilizan el concepto de un identificador de sesi\u00f3n (session ID), que no es m\u00e1s que un cookie que funciona como identificador de sesi\u00f3n y al cual se asocia un \u00e1rea de memoria en el servidor en la cual se guardan las variables de sesi\u00f3n.<\/p>\n<p>En fin, como ya habr\u00e1n podido entender, es necesario para la seguridad de la aplicaci\u00f3n proteger los cookies, y para ello el protocolo HTTP 1.1 soporta un par\u00e1metro para cada cookie conocido como \u00absecure flag\u00bb que al ser activado no permite que los cookies con dicho atributos sean transmitidos en conexiones HTTP simple o inseguras.<\/p>\n<p>Este atributo se puede agregar por cada cookie o en general, y cada plataforma conocida lo soporta. Por ejemplo:<\/p>\n<p>En PHP<br \/>\nColoque en true el par\u00e1metro httponly:<br \/>\nsetcookie( name, value, expire, path, domain, secure, httponly);<\/p>\n<p>En el php.ini:<br \/>\nsession.cookie_secure = on<\/p>\n<p>En JSP \/Java Server Pages:<\/p>\n<p>Cookie holaCookie = new Cookie(\u00ab\u00bb,text);<br \/>\nholaCookie.setSecure(true);<\/p>\n<p>En ASP.NET<br \/>\nColoque en el web.config la siguiente l\u00ednea:<\/p>\n<p>&lt;httpCookies requireSSL=\u00bbtrue\u00bb \/&gt;<\/p>\n<p>Para hacerlo de forma expl\u00edcita por cada cookie:<\/p>\n<p>HttpCookie cookie = new HttpCookie(\u00abnombre\u00bb);<br \/>\ncookie.Secure = True;<br \/>\ncookie.Value = \u00abJos\u00e9\u00bb;<\/p>\n<p>Fuente: <a href=\"http:\/\/tecnologiasweb.blogspot.com\">tecnologiasweb.blogspot.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uno de los problemas que presentamos los desarrolladores es el control de los Cookies usados en transacciones seguras. El primer inconveniente que se presenta cuando usamos cookies bajo protocolo SSL o TSL (el conocido HTTPS cion la S al final de \u00absecure\u00bb) es que estos cookies si no tomamos las debidas precauciones en el manejo [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-1559","post","type-post","status-publish","format-standard","hentry","category-profesional"],"_links":{"self":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/1559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/comments?post=1559"}],"version-history":[{"count":1,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/1559\/revisions"}],"predecessor-version":[{"id":1560,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/1559\/revisions\/1560"}],"wp:attachment":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/media?parent=1559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/categories?post=1559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/tags?post=1559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}