{"id":53019,"date":"2025-06-20T13:04:25","date_gmt":"2025-06-20T13:04:25","guid":{"rendered":"https:\/\/www.edgenexus.io\/sin-categoria\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/"},"modified":"2025-06-20T13:04:25","modified_gmt":"2025-06-20T13:04:25","slug":"politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss","status":"publish","type":"post","link":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/","title":{"rendered":"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>En las \u00faltimas semanas hemos cubierto en el blog bastantes cabeceras HTTP relacionadas con la seguridad, pero la jefa de todas ellas tiene que ser <a href=\"https:\/\/www.edgenexus.io\/es\/tag\/bloque-contenido-mixto\/\">Content-Security-Policy<\/a>(CSP). El jefe, tanto por el nivel de protecci\u00f3n que proporciona como, desgraciadamente, por la dificultad de implementarlo correctamente a la primera. Como con todas las reglas de gesti\u00f3n del tr\u00e1fico flightPATH de las que hemos hablado recientemente, las utilizamos nosotros mismos para proteger el sitio web edgeNEXUS y a sus visitantes.  <\/p>\n<p>Hemos hecho el trabajo duro y hemos sentido el dolor para que t\u00fa no tengas que hacerlo, pero es innegable que hay que pensar y planificar antes de ponerlo en pr\u00e1ctica. Pero merece la pena. El concepto de esta cabecera es bastante <a href=\"https:\/\/www.edgenexus.io\/es\/tag\/waf-simple\/\">sencillo<\/a> e igual de potente. En pocas palabras, se utiliza para especificar los or\u00edgenes permitidos del contenido que se puede cargar en tu sitio web. Esto proporciona una fuerte protecci\u00f3n contra una serie de ataques de inyecci\u00f3n de c\u00f3digo frecuentes en la cada vez m\u00e1s din\u00e1mica Internet de hoy en d\u00eda, como el Cross Site Scripting (XSS) y el Clickjacking.    <\/p>\n<p>Los tipos de contenido que se pueden controlar son: JavaScript, CSS (s\u00ed, el CSS puede ser peligroso), marcos HTML, fuentes, im\u00e1genes y objetos incrustables como los applets de Java. Es estupendo tener tantas opciones, pero aqu\u00ed es donde surge la dificultad. Los sitios web actuales (incluidos los nuestros) contienen una multitud de estos tipos de contenido de muchas fuentes, e identificarlos y tenerlos en cuenta en una pol\u00edtica puede ser todo un esfuerzo.  <\/p>\n<p>Antes de entrar en materia, echemos un vistazo a los elementos del valor de la cabecera y al aspecto de una pol\u00edtica. Como ver\u00e1s, se trata esencialmente de una larga lista de tipos de contenido (todos terminan con -src en este ejemplo) y las fuentes permitidas para cada tipo. En conjunto, se conocen como directivas de pol\u00edtica.  <\/p>\n<p><strong>default-src \u201cself\u201d data:; script-src \u201cself\u201d \u201cunsafe-inline\u201d; connect-src \u201cself\u201d; img-src \u201cself\u201d data:; style-src \u201cself\u201d \u201cunsafe-inline\u201d data:; font-src \u201cself\u201d data:; child-src \u201cself\u201d<\/strong><\/p>\n<p>Hay m\u00e1s tipos de contenido que podemos tener en cuenta, pero las que se muestran arriba son las directivas m\u00e1s importantes (en nuestra opini\u00f3n, basadas en el riesgo y la prevalencia). A continuaci\u00f3n se detalla a qu\u00e9 contenido se refiere cada una; <\/p>\n<ul>\n<li><strong>default-src<\/strong> &#8211; Valores por defecto para la mayor\u00eda de los tipos de contenido (pero no todos) si no se especifican despu\u00e9s<\/li>\n<li><strong>script-src<\/strong> &#8211; Fuentes permitidas para scripts (incluido JavaScript)<\/li>\n<li><strong>connect-src <\/strong>&#8211; Fuentes permitidas para las conexiones (como WebSockets y EventSource utilizados, por ejemplo, con aplicaciones de chat)<\/li>\n<li><strong>img-src<\/strong> &#8211; Fuentes permitidas para las im\u00e1genes<\/li>\n<li><strong>style-src<\/strong> &#8211; Fuentes permitidas para CSS<\/li>\n<li><strong>font-src<\/strong> &#8211; Fuentes permitidas para las fuentes<\/li>\n<li><strong>child-src<\/strong> &#8211; Fuentes permitidas para marcos e iframes<\/li>\n<\/ul>\n<p>Estos tipos de contenido y sus valores est\u00e1n separados entre s\u00ed (delimitados) por un punto y coma. Cada tipo puede tener uno o varios de los siguientes valores; <\/p>\n<ul>\n<li><strong>ninguno\u00bb<\/strong> &#8211; no permitir este tipo de contenido<\/li>\n<li><strong>auto\u00bb<\/strong> &#8211; permite este tipo de contenido si se origina directamente en este sitio (pero no en subdominios)<\/li>\n<li><strong>\u201cunsafe-inline\u201d<\/strong> &#8211; permitir CSS y JavaScript inline (por desgracia, es <strong>muy<\/strong> com\u00fan)<\/li>\n<li><strong>datos:<\/strong> &#8211; permiten <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_URI_scheme\">fuentes de datos<\/a> en l\u00ednea (normalmente se utilizan para proporcionar fuentes e im\u00e1genes en l\u00ednea para mejorar el rendimiento)<\/li>\n<li><strong>https:<\/strong> &#8211; s\u00f3lo permitir este tipo de contenido a trav\u00e9s de HTTPS<\/li>\n<li><strong>\u201cunsafe-eval\u201d<\/strong> &#8211; permite analizar el texto utilizando m\u00e9todos potencialmente peligrosos que pueden provocar la ejecuci\u00f3n de c\u00f3digo<\/li>\n<li><strong>nombre-dominio<\/strong> &#8211; permite este tipo de contenido si se origina en el nombre-dominio especificado (en otras palabras, un dominio remoto) &#8211; puede utilizarse varias veces<\/li>\n<li><strong>* <\/strong>&#8211; cualquier dominio<\/li>\n<\/ul>\n<p>Se utiliza un espacio simple para delimitar cada valor. Las comillas simples &#8216; son necesarias a menos que el valor sea un nombre de dominio. Ten en cuenta que las extensiones del navegador y los plugins est\u00e1n exentos, ya que se consideran seguros porque el usuario conf\u00eda en ellos (al fin y al cabo, es quien los ha instalado).  <\/p>\n<p>Todo parece bastante t\u00e9cnico y complejo, pero si lo abordamos paso a paso es bastante r\u00e1pido llegar a una pol\u00edtica. Vamos a trabajar r\u00e1pidamente con dos ejemplos. En primer lugar, probemos con un simple sitio web interno servido a trav\u00e9s de HTTP. Esto es lo que necesitamos   <\/p>\n<ul>\n<li><strong>default-src \u201cdatos propios\u201d:<\/strong> &#8211; permitir s\u00f3lo contenido de nuestro propio sitio, incluyendo objetos inline<\/li>\n<li><strong>script-src \u201cself\u201d \u201cunsafe-inline\u201d<\/strong> &#8211; permitir scripts de nuestro propio sitio, incluidos los inline<\/li>\n<li><strong>connect-src \u201cself\u201d<\/strong> &#8211; permitir conexiones desde\/a nuestro propio sitio<\/li>\n<li><strong>datos img-src \u201cself\u201d: <\/strong>&#8211; permitir im\u00e1genes de nuestro propio sitio, incluidas las inline<\/li>\n<li><strong>style-src \u201cself\u201d \u201cunsafe-inline\u201d data: <\/strong>&#8211; permitir CSS de nuestro propio sitio, incluyendo estilos inline<\/li>\n<li><strong>datos font-src \u201cself\u201d:<\/strong> &#8211; permitir fuentes de nuestro propio sitio, incluidas las inline<\/li>\n<\/ul>\n<p>El valor completo de la cabecera es razonablemente corto:<\/p>\n<p><strong>default-src \u201cself\u201d data:; script-src \u201cself\u201d \u201cunsafe-inline\u201d; connect-src \u201cself\u201d; img-src \u201cself\u201d data:; style-src \u201cself\u201d \u201cunsafe-inline\u201d data:; font-src \u201cself\u201d data:<\/strong><\/p>\n<p>En segundo lugar, un sitio web de cara a Internet protegido por SSL\/TLS que utiliza Google Analytics (GA), CSS en l\u00ednea, fuentes e im\u00e1genes, CSS de tu sitio e im\u00e1genes de otros sitios web. Repasemos lo que necesitamos pieza por pieza (no es muy diferente); <\/p>\n<ul>\n<li><strong>default-src \u201cself\u201d data: https<\/strong>: &#8211; permitir contenido s\u00f3lo de nuestro propio sitio, incluyendo objetos inline, s\u00f3lo a trav\u00e9s de HTTPS<\/li>\n<li><strong>script-src \u201cself\u201d \u201cunsafe-inline\u201d https:<\/strong> &#8211; permitir scripts de nuestro propio sitio, incluidos los inline, s\u00f3lo a trav\u00e9s de HTTPS<\/li>\n<li><strong>img-src \u201cself\u201d \u201cunsafe-inline\u201d \\* https: <\/strong>&#8211; permite im\u00e1genes de cualquier sitio, incluidas las inline del nuestro, s\u00f3lo a trav\u00e9s de HTTPS<\/li>\n<li><strong>style-src \u201cself\u201d \u201cunsafe-inline\u201d https:<\/strong> &#8211; permitir CSS s\u00f3lo de nuestro propio sitio, incluidos los inline, s\u00f3lo a trav\u00e9s de HTTPS<\/li>\n<li><strong>font-src \u201cself\u201d \u201cunsafe-inline\u201d https<\/strong><strong>:<\/strong> &#8211; permitir s\u00f3lo fuentes de nuestro propio sitio, incluidas las inline, s\u00f3lo a trav\u00e9s de HTTPS<\/li>\n<\/ul>\n<p>Si lo sumamos todo, tenemos esta pol\u00edtica ligeramente m\u00e1s larga:<\/p>\n<p><strong>default-src \u201cself\u201d data: https:; script-src \u201cself\u201d \u201cunsafe-inline\u201d *.google-analytics.com https:; img-src \u201cself\u201d \u201cunsafe-inline\u201d * https:; style-src \u201cself\u201d \u201cunsafe-inline\u201d https:; font-src \u201cself\u201d \u201cunsafe-inline\u201d https:<\/strong><\/p>\n<p>Yo dir\u00eda que es bastante f\u00e1cil. Google no era tan \u201camigable\u201d con CSP en el pasado (este valor de cabecera sol\u00eda ser al menos el doble de largo), pero afortunadamente han hecho grandes progresos recientemente. Ver\u00e1s que no hemos tenido que a\u00f1adir el dominio *.google-analytics.com al script-src como valor de tipo de contenido, ya que su c\u00f3digo se ejecuta como un script en l\u00ednea.<\/p>\n<p>Lo ideal ser\u00eda que crearas una pol\u00edtica por p\u00e1gina de tu sitio web, ya que los recursos cargados sin duda variar\u00e1n seg\u00fan la p\u00e1gina, pero esto es bastante oneroso y es mucho m\u00e1s sencillo, aunque eficaz, crear una pol\u00edtica que cubra todas las fuentes posibles. La mayor\u00eda de los ejemplos de nuestra p\u00e1gina de GitHub adoptan este enfoque, pero tambi\u00e9n hay uno all\u00ed por si quieres proporcionar una mayor protecci\u00f3n a p\u00e1ginas concretas. <\/p>\n<p>Para probar y solucionar problemas, te recomiendo encarecidamente que utilices las Herramientas para desarrolladores de Google Chrome. Ve al sitio en cuesti\u00f3n y pulsa F12, haz clic en Red, aseg\u00farate de que la opci\u00f3n Desactivar cach\u00e9 est\u00e1 marcada y vuelve a cargar la p\u00e1gina. Cualquier error aparecer\u00e1 claramente resaltado. Al final de este blog hay una pantalla de lo que podr\u00edas ver si tu pol\u00edtica est\u00e1 bloqueando <strong>unsafe-inline<\/strong> y utilizas Google Analytics; los mensajes de error son muy \u00fatiles.   <\/p>\n<p>Ajusta tu pol\u00edtica seg\u00fan sea necesario y aclara y repite. Lo ideal ser\u00eda que lo hicieras utilizando un Servicio Virtual de pruebas dedicado con la regla flightPATH que est\u00e1s probando aplicada, pero que por lo dem\u00e1s sirviera al mismo sitio, s\u00f3lo que a trav\u00e9s de una IP Virtual diferente para no afectar a los clientes reales mientras realizas las pruebas. <\/p>\n<p>Como siempre ocurre, la gran ventaja de utilizar un equilibrador de carga es que s\u00f3lo tenemos que hacerlo en un lugar central para proteger todos nuestros servidores (y sitios). No necesitamos depender de desarrolladores ni de reconfiguraciones del servidor web. En el equilibrador de carga edgeNEXUS s\u00f3lo tenemos que importar una plantilla de configuraci\u00f3n autom\u00e1tica jetPACK y asignar una regla de tr\u00e1fico flightPATH al Servicio o Servicios Virtuales que deseemos proteger (tras las modificaciones oportunas).  <\/p>\n<p>La regla s\u00f3lo a\u00f1ade la cabecera si no existe, por lo que funcionar\u00e1 incluso cuando nuestros servidores web ya la inserten o quiz\u00e1s s\u00f3lo la inserten para p\u00e1ginas concretas. Esta regla deber\u00eda formar parte de tu configuraci\u00f3n est\u00e1ndar del Servicio Virtual: no tienes nada que perder sea cual sea el sitio aunque, por supuesto, siempre se recomienda hacer pruebas. Puedes descargar este jetPACK y muchos otros en el <a href=\"https:\/\/github.com\/jetNEXUS\/flightPATH\">sitio Github de edgeNEXUS<\/a>.  <\/p>\n<p>flightPATH es un motor de reglas din\u00e1mico y basado en eventos desarrollado por edgeNEXUS para manipular y enrutar de forma inteligente el tr\u00e1fico IP, HTTP y HTTPS de carga equilibrada. Es altamente configurable y potente, pero muy f\u00e1cil de usar. <\/p>\n<p>Merece la pena leer estos enlaces relacionados si quieres saber m\u00e1s;<\/p>\n<p><a href=\"http:\/\/www.html5rocks.com\/en\/tutorials\/security\/content-security-policy\/\">http:\/\/www.html5rocks.com\/en\/tutorials\/security\/content-security-policy\/<\/a><\/p>\n<p><a href=\"https:\/\/developer.mozilla.org\/en\/docs\/Web\/Security\/CSP\/CSP_policy_directives\">https:\/\/developer.mozilla.org\/en\/docs\/Web\/Security\/CSP\/CSP_policy_directives<\/a><\/p>\n<p><a href=\"http:\/\/content-security-policy.com\/\">http:\/\/content-security-policy.com\/<\/a><\/p>\n<p><a href=\"https:\/\/www.clickintelligence.co.uk\/header-response-checker\/\">https:\/\/www.clickintelligence.co.uk\/header-response-checker\/<\/a><\/p>\n<blockquote><p>En las \u00faltimas semanas hemos cubierto en el blog bastantes cabeceras HTTP relacionadas con la seguridad, pero la jefa de todas ellas tiene que ser Content-Security-Policy (CSP).<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; En las \u00faltimas semanas hemos cubierto en el blog bastantes cabeceras HTTP relacionadas con la seguridad, pero la jefa de todas ellas tiene que ser Content-Security-Policy(CSP). El jefe, tanto por el nivel de protecci\u00f3n que proporciona como, desgraciadamente, por la dificultad de implementarlo correctamente a la primera. Como con todas las reglas de gesti\u00f3n [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[500],"tags":[1075,1352,1115,1255,1351,1353,1114],"class_list":["post-53019","post","type-post","status-publish","format-standard","hentry","category-blog-es","tag-aplicacion-de-la-politica","tag-csp-es","tag-encabezado-de-seguridad-http","tag-http-es","tag-politica-de-contenidos","tag-politica-del-mismo-origen","tag-seguridad-http"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS - Edgenexus load balancers and Application Security<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Donna Toomey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/\"},\"author\":{\"name\":\"Donna Toomey\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca\"},\"headline\":\"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS\",\"datePublished\":\"2025-06-20T13:04:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/\"},\"wordCount\":1635,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\"},\"keywords\":[\"aplicaci\u00f3n de la pol\u00edtica\",\"csp\",\"encabezado de seguridad http\",\"http\",\"pol\u00edtica de contenidos\",\"pol\u00edtica del mismo origen\",\"seguridad http\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/\",\"url\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/\",\"name\":\"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS - Edgenexus load balancers and Application Security\",\"isPartOf\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#website\"},\"datePublished\":\"2025-06-20T13:04:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.edgenexus.io\/es\/controlador-de-entrega-de-aplicaciones\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#website\",\"url\":\"https:\/\/www.edgenexus.io\/zh-hans\/\",\"name\":\"Edgenexus load balancers and Application Security\",\"description\":\"Edgenexus Load Balancers, ADC and Web application Firewalls (WAF)\",\"publisher\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\"},\"alternateName\":\"Load balancers and Web application firewall\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.edgenexus.io\/zh-hans\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\",\"name\":\"Edgenexus\",\"url\":\"https:\/\/www.edgenexus.io\/zh-hans\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png\",\"contentUrl\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png\",\"width\":903,\"height\":921,\"caption\":\"Edgenexus\"},\"image\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/edgenexusio\",\"https:\/\/x.com\/edgenexusio\",\"https:\/\/www.linkedin.com\/company\/edgenexus\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca\",\"name\":\"Donna Toomey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g\",\"caption\":\"Donna Toomey\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS - Edgenexus load balancers and Application Security","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/","twitter_misc":{"Escrito por":"Donna Toomey","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#article","isPartOf":{"@id":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/"},"author":{"name":"Donna Toomey","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca"},"headline":"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS","datePublished":"2025-06-20T13:04:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/"},"wordCount":1635,"commentCount":0,"publisher":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization"},"keywords":["aplicaci\u00f3n de la pol\u00edtica","csp","encabezado de seguridad http","http","pol\u00edtica de contenidos","pol\u00edtica del mismo origen","seguridad http"],"articleSection":["Blog"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/","url":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/","name":"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS - Edgenexus load balancers and Application Security","isPartOf":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#website"},"datePublished":"2025-06-20T13:04:25+00:00","breadcrumb":{"@id":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.edgenexus.io\/es\/blog-es\/politicas-sencillas-de-seguridad-de-contenidos-para-defenderse-de-los-ataques-xss\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.edgenexus.io\/es\/controlador-de-entrega-de-aplicaciones\/"},{"@type":"ListItem","position":2,"name":"Pol\u00edticas sencillas de seguridad de contenidos para defenderse de los ataques XSS"}]},{"@type":"WebSite","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#website","url":"https:\/\/www.edgenexus.io\/zh-hans\/","name":"Edgenexus load balancers and Application Security","description":"Edgenexus Load Balancers, ADC and Web application Firewalls (WAF)","publisher":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization"},"alternateName":"Load balancers and Web application firewall","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.edgenexus.io\/zh-hans\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization","name":"Edgenexus","url":"https:\/\/www.edgenexus.io\/zh-hans\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/","url":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png","contentUrl":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png","width":903,"height":921,"caption":"Edgenexus"},"image":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/edgenexusio","https:\/\/x.com\/edgenexusio","https:\/\/www.linkedin.com\/company\/edgenexus\/"]},{"@type":"Person","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca","name":"Donna Toomey","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g","caption":"Donna Toomey"}}]}},"_links":{"self":[{"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/posts\/53019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/comments?post=53019"}],"version-history":[{"count":0,"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/posts\/53019\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/media?parent=53019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/categories?post=53019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.edgenexus.io\/es\/wp-json\/wp\/v2\/tags?post=53019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}