{"id":3810,"date":"2020-10-14T11:25:00","date_gmt":"2020-10-14T11:25:00","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/web-app-security-xss-vulnerability\/"},"modified":"2026-04-27T10:24:05","modified_gmt":"2026-04-27T10:24:05","slug":"web-sovelluksen-turvallisuus-xss-haavoittuvuus","status":"publish","type":"post","link":"https:\/\/thecodest.co\/fi\/blog\/web-app-security-xss-vulnerability\/","title":{"rendered":"Web-sovelluksen turvallisuus - XSS-haavoittuvuus"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Hy\u00f6kk\u00e4ysskenaario<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Hy\u00f6kk\u00e4\u00e4j\u00e4 l\u00f6yt\u00e4\u00e4 XSS-haavoittuvuuden uhrin k\u00e4ytt\u00e4m\u00e4lt\u00e4 verkkosivustolta, esimerkiksi pankin verkkosivustolta.<\/li>\n\n\n\n<li>Uhri on t\u00e4ll\u00e4 hetkell\u00e4 kirjautuneena t\u00e4lle sivulle.<\/li>\n\n\n\n<li>Hy\u00f6kk\u00e4\u00e4j\u00e4 l\u00e4hett\u00e4\u00e4 uhrille v\u00e4\u00e4rennetyn URL-osoitteen.<\/li>\n\n\n\n<li>Uhri napsauttaa URL-osoitetta<\/li>\n\n\n\n<li>Uhrin <a href=\"https:\/\/thecodest.co\/fi\/dictionary\/how-fintech-helps-banks\/\">pankki<\/a> verkkosivusto, <a href=\"https:\/\/thecodest.co\/fi\/blog\/hire-javascript-developer\/\">JavaScript<\/a> <a href=\"https:\/\/thecodest.co\/fi\/dictionary\/what-is-code-refactoring\/\">koodi<\/a> alkaa suorittaa siepatakseen k\u00e4ytt\u00e4j\u00e4n tekem\u00e4n <a href=\"https:\/\/thecodest.co\/fi\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">tiedot<\/a> tai tehd\u00e4 h\u00e4nen puolestaan siirto hy\u00f6kk\u00e4\u00e4j\u00e4n tilille.<\/li>\n<\/ol>\n\n\n\n<p>On syyt\u00e4 huomata, ett\u00e4 uhrin puolesta suoritettavat operaatiot voivat olla uhrille n\u00e4kym\u00e4tt\u00f6mi\u00e4, sill\u00e4 ne voivat tapahtua taustalla pankin pankkitunnuksilla. <a href=\"https:\/\/thecodest.co\/fi\/blog\/compare-staff-augmentation-firms-that-excel-in-api-team-staffing-for-financial-technology-projects\/\">API<\/a>, tai hy\u00f6kk\u00e4\u00e4j\u00e4 voi suorittaa ne my\u00f6hemmin tunnistautumiseen tarvittavien tietojen, tunnisteiden, ev\u00e4steiden jne. avulla.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">XSS-tyypit<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Heijastettu XSS <\/h3>\n\n\n\n<p>T\u00e4m\u00e4 on sellainen, jossa mink\u00e4 tahansa parametrin (esim. GET, POST tai ev\u00e4ste) sis\u00e4lt\u00e4m\u00e4 HTML\/JavaScript-koodi n\u00e4ytet\u00e4\u00e4n vastauksena.<\/p>\n\n\n\n<p>Sivu, jossa on tekstinsy\u00f6tt\u00f6, jolla haetaan jotain, joka asettaa parametrin <code>?search=foo<\/code> URL-osoitteen lopussa, kun API:ta kysyt\u00e4\u00e4n. Jos jotain lausetta ei l\u00f6ydy, sen sy\u00f6tt\u00e4misen j\u00e4lkeen annetaan palautusviesti HTML ex.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;div&gt;Ei l&ouml;ytynyt tulosta &lt;b&gt;foo&lt;\/b&gt;&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p>Voimme yritt\u00e4\u00e4 laittaa URL-osoitteen <code>?search=<\/code>..<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.DOM XSS <\/h3>\n\n\n\n<p>T\u00e4m\u00e4 tapahtuu silloin, kun sen suorittaminen mahdollistetaan k\u00e4ytt\u00e4m\u00e4ll\u00e4 vaarallisia toimintoja JavaScript:ss\u00e4, kuten seuraavia toimintoja <code>`eval`<\/code> tai <code>`innerHtml`<\/code>. Alla oleva \"Live-esimerkki\" n\u00e4ytt\u00e4\u00e4 DOM XSS -hy\u00f6kk\u00e4yksen, joka perustuu <code>`innerHtml`<\/code> toiminto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Tallennettu XSS <\/h3>\n\n\n\n<p>T\u00e4ss\u00e4 tapauksessa haittakoodi kirjoitetaan palvelinpuolelle. Voimme esimerkiksi l\u00e4hett\u00e4\u00e4 haitallista koodia sis\u00e4lt\u00e4v\u00e4n kommentin blogikirjoitukseen, joka ladataan palvelimelle. Sen teht\u00e4v\u00e4n\u00e4 on esimerkiksi odottaa yll\u00e4pit\u00e4j\u00e4n moderointia ja sitten varastaa h\u00e4nen istuntotietonsa jne.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Injektiomenetelm\u00e4t<\/h2>\n\n\n\n<p>1. Tagin sis\u00e4ll\u00f6ss\u00e4<\/p>\n\n\n\n<p><code>`onerror=alert('XSS')`<\/code>osoitteeseen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;img src onerror=&quot;alert(&#039;XSS&#039;)&quot; \/&gt;<\/code><\/pre>\n\n\n\n<p>2. M\u00e4\u00e4ritteen sis\u00e4ll\u00f6ss\u00e4<\/p>\n\n\n\n<p><code>`\" onmouseover=alert('XSS')``<\/code> osoitteeseen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;div class=&quot;&quot; onmouseover=&quot;alert(&#039;XSS&#039;)&quot;&quot;&gt;&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>M\u00e4\u00e4ritteen sis\u00e4ll\u00f6ss\u00e4 ilman lainausmerkkej\u00e4<\/li>\n<\/ol>\n\n\n\n<p><code>x onclick=alert('XSS')<\/code>osoitteeseen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;div class=&quot;x&quot; onclick=&quot;alert(&#039;XSS&#039;)&quot;&gt;&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Vuonna <code>href<\/code>ef-ominaisuus<\/li>\n<\/ol>\n\n\n\n<p><code>javascript:alert('XSS')<\/code> osoitteeseen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">&lt;a href=&quot;javascript:alert(&#039;XSS&#039;)&quot;&gt;&lt;\/a&gt;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>JavaScript-koodin sis\u00e4ll\u00e4 olevassa merkkijonossa<\/li>\n<\/ol>\n\n\n\n<p><code>\";alert('XSS')\/\/<\/code> osoitteeseen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;script&gt;let username=\"\";alert('XSS')\/\/\";&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li>JavaScript-tapahtuman sis\u00e4lt\u00e4m\u00e4ss\u00e4 attribuutissa.<\/li>\n<\/ol>\n\n\n\n<p><code>&#039;);alert('XSS')\/\/<\/code> jossa <code>&#039;<\/code> on yksitt\u00e4inen lainausmerkki, ja<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;div onclick=&quot;change(&#039;&amp;#39;);alert(&#039;XSS&#039;)\/\/&#039;)&quot;&gt;John&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"7\">\n<li>Vuonna <code>href<\/code> attribuutti JavaScript-protokollan sis\u00e4ll\u00e4<\/li>\n<\/ol>\n\n\n\n<p><code>);alert(1)\/\/<\/code> jossa <code>%27<\/code> on yksitt\u00e4inen lainausmerkki, ja<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">&lt;a href=&quot;javascript:change(&#039;%27);alert(1)\/\/&#039;)&quot;&gt;klikkaa&lt;\/a&gt;<\/code><\/pre>\n\n\n\n<p><code><br> <\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Live-esimerkki<\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-codesandbox wp-block-embed-codesandbox\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" title=\"XSS-haavoittuvuus\" width=\"500\" height=\"750\" src=\"https:\/\/codesandbox.io\/embed\/xss-vulnerability-iedok#?secret=JCHK6BCh6d\" data-secret=\"JCHK6BCh6d\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Puolustusmenetelm\u00e4t<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Tiedon koodaus k\u00e4ytt\u00e4m\u00e4ll\u00e4 sis\u00e4\u00e4nrakennettuja toimintoja, jotka l\u00f6ytyv\u00e4t monista <a href=\"https:\/\/thecodest.co\/fi\/blog\/top-programming-languages-to-build-e-commerce\/\">ohjelmointikielet<\/a>.<\/li>\n\n\n\n<li>Mallij\u00e4rjestelmien k\u00e4ytt\u00f6 automaattisen koodauksen kanssa. Useimmat t\u00e4llaisia j\u00e4rjestelmi\u00e4 k\u00e4ytt\u00e4v\u00e4t suositut kehykset suojaavat <a href=\"https:\/\/thecodest.co\/fi\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> XSS-injektiolta (<a href=\"https:\/\/thecodest.co\/fi\/blog\/hire-django-developers\/\">Django<\/a>, Mallit, <a href=\"https:\/\/thecodest.co\/fi\/blog\/hire-vue-js-developers\/\">Vue<\/a>, <a href=\"https:\/\/thecodest.co\/fi\/blog\/conditional-component-visibility-in-react\/\">React<\/a> jne.).<\/li>\n\n\n\n<li>\u00c4l\u00e4 k\u00e4yt\u00e4 funktioita kuten <code>eval<\/code> tai <code>Toiminto<\/code> ep\u00e4luotettavien k\u00e4ytt\u00e4j\u00e4tietojen kanssa.<\/li>\n\n\n\n<li>\u00c4l\u00e4 k\u00e4yt\u00e4 funktioita ja ominaisuuksia, jotka osoittavat HTML-koodia suoraan DOM-puun elementteihin, esim, <code>innerHTML<\/code>, <code>outerHTML<\/code>, <code>insertAdjacentHTML<\/code>, <code>ocument.write<\/code>. Sen sijaan voit k\u00e4ytt\u00e4\u00e4 funktioita, jotka kohdistavat teksti\u00e4 suoraan n\u00e4ihin elementteihin, kuten esimerkiksi funktio <code>textContent<\/code> tai <code>innerText<\/code>.<\/li>\n\n\n\n<li>Ole varovainen, kun ohjaat k\u00e4ytt\u00e4j\u00e4n URL-osoitteeseen, joka on h\u00e4nen hallinnassaan. Injektioriski <code>location = 'javascript('XSS')'<\/code>.<\/li>\n\n\n\n<li>Suodata HTML:\u00e4\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 kirjastoja, kuten <code>DOMPurify<\/code>.<\/li>\n\n\n\n<li>Ole varovainen lataamisen suhteen <code>.html<\/code> tai <code>.svg<\/code> tiedostot. Voit luoda erillisen verkkotunnuksen, josta ladatut tiedostot toimitetaan.<\/li>\n\n\n\n<li>K\u00e4yt\u00e4 <code>Content-Security-Policy<\/code> mekanismi.<\/li>\n\n\n\n<li> <span style=\"font-size: revert; color: initial; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Oxygen-Sans, Ubuntu, Cantarell, &quot;Helvetica Neue&quot;, sans-serif;\">Tutustu useimpiin suosittuihin selaimiin rakennettuihin XSS-suodattimiin.<\/span> <p><strong>Jos t\u00e4m\u00e4 artikkeli kiinnostaa sinua, seuraa Lukaszia Githubissa:<\/strong> https:\/\/github.com\/twistezo<\/p> <\/li>\n<\/ol>\n\n\n\n<p><strong>Lue lis\u00e4\u00e4:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Tiedonhakustrategiat NextJS:ss\u00e4<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-api-cors-dash-of-consciousness\/\">Rails API ja CORS. Ripaus tietoisuutta<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\/\">Miksi sinun pit\u00e4isi (luultavasti) k\u00e4ytt\u00e4\u00e4 Typescripti\u00e4?<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>XSS-hy\u00f6kk\u00e4ysten avulla hy\u00f6kk\u00e4\u00e4j\u00e4t voivat sy\u00f6tt\u00e4\u00e4 asiakaspuolen komentosarjoja muiden k\u00e4ytt\u00e4jien katselemille verkkosivuille. T\u00e4m\u00e4n haavoittuvuuden t\u00e4rkeimm\u00e4t vaikutukset ovat mahdollisuus suorittaa mit\u00e4 tahansa toimintoja kirjautuneen k\u00e4ytt\u00e4j\u00e4n kontekstissa ja lukea mit\u00e4 tahansa tietoja kirjautuneen k\u00e4ytt\u00e4j\u00e4n kontekstissa.<\/p>","protected":false},"author":2,"featured_media":3809,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3810","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Web app security - XSS vulnerability - The Codest<\/title>\n<meta name=\"description\" content=\"Enhance your knowledge of web app security. Discover how XSS attacks can affect bank transactions and user safety.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/fi\/blogi\/web-sovelluksen-turvallisuus-xss-haavoittuvuus\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Web app security - XSS vulnerability\" \/>\n<meta property=\"og:description\" content=\"Enhance your knowledge of web app security. Discover how XSS attacks can affect bank transactions and user safety.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/fi\/blogi\/web-sovelluksen-turvallisuus-xss-haavoittuvuus\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-14T11:25:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-27T10:24:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/web-app-security.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Web app security &#8211; XSS vulnerability\",\"datePublished\":\"2020-10-14T11:25:00+00:00\",\"dateModified\":\"2026-04-27T10:24:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/\"},\"wordCount\":528,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/web-app-security.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/\",\"name\":\"Web app security - XSS vulnerability - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/web-app-security.png\",\"datePublished\":\"2020-10-14T11:25:00+00:00\",\"dateModified\":\"2026-04-27T10:24:05+00:00\",\"description\":\"Enhance your knowledge of web app security. Discover how XSS attacks can affect bank transactions and user safety.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/web-app-security.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/web-app-security.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/web-app-security-xss-vulnerability\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web app security &#8211; XSS vulnerability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/fi\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Web-sovelluksen turvallisuus - XSS-haavoittuvuus - The Codest","description":"Paranna tiet\u00e4myst\u00e4si verkkosovellusten tietoturvasta. Selvit\u00e4, miten XSS-hy\u00f6kk\u00e4ykset voivat vaikuttaa pankkitapahtumiin ja k\u00e4ytt\u00e4jien turvallisuuteen.","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:\/\/thecodest.co\/fi\/blogi\/web-sovelluksen-turvallisuus-xss-haavoittuvuus\/","og_locale":"fi_FI","og_type":"article","og_title":"Web app security - XSS vulnerability","og_description":"Enhance your knowledge of web app security. Discover how XSS attacks can affect bank transactions and user safety.","og_url":"https:\/\/thecodest.co\/fi\/blogi\/web-sovelluksen-turvallisuus-xss-haavoittuvuus\/","og_site_name":"The Codest","article_published_time":"2020-10-14T11:25:00+00:00","article_modified_time":"2026-04-27T10:24:05+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/web-app-security.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"3 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Web app security &#8211; XSS vulnerability","datePublished":"2020-10-14T11:25:00+00:00","dateModified":"2026-04-27T10:24:05+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/"},"wordCount":528,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/web-app-security.png","articleSection":["Software Development"],"inLanguage":"fi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/","url":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/","name":"Web-sovelluksen turvallisuus - XSS-haavoittuvuus - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/web-app-security.png","datePublished":"2020-10-14T11:25:00+00:00","dateModified":"2026-04-27T10:24:05+00:00","description":"Paranna tiet\u00e4myst\u00e4si verkkosovellusten tietoturvasta. Selvit\u00e4, miten XSS-hy\u00f6kk\u00e4ykset voivat vaikuttaa pankkitapahtumiin ja k\u00e4ytt\u00e4jien turvallisuuteen.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/web-app-security.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/web-app-security.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/web-app-security-xss-vulnerability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Web app security &#8211; XSS vulnerability"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/fi\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts\/3810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/comments?post=3810"}],"version-history":[{"count":9,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts\/3810\/revisions"}],"predecessor-version":[{"id":8105,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/posts\/3810\/revisions\/8105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/media\/3809"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/media?parent=3810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/categories?post=3810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/fi\/wp-json\/wp\/v2\/tags?post=3810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}