{"id":73,"date":"2019-05-23T09:47:34","date_gmt":"2019-05-22T23:47:34","guid":{"rendered":"http:\/\/stuff.magicwilly.home\/?p=73"},"modified":"2019-05-23T09:47:34","modified_gmt":"2019-05-22T23:47:34","slug":"lambdaedge-security-headers","status":"publish","type":"post","link":"http:\/\/stuff2.mygeekvps.net\/index.php\/2019\/05\/23\/lambdaedge-security-headers\/","title":{"rendered":"Lambda@EDGE Security Headers"},"content":{"rendered":"<p>Node 8<\/p>\n<pre lang=\"javascript\" cssfile=\"none\">\n'use strict';\nexports.handler = (event, context, callback) => {\n    \/\/Get contents of response\n    const response = event.Records[0].cf.response;\n    const headers = response.headers;\n\/\/Set new headers\n headers['strict-transport-security'] = [{key: 'Strict-Transport-Security', value: 'max-age=63072000; includeSubdomains; preload'}];\n headers['content-security-policy'] = [{key: 'Content-Security-Policy', value: \"default-src 'self' 'unsafe-inline' 'unsafe-eval'\"}];\n headers['x-content-type-options'] = [{key: 'X-Content-Type-Options', value: 'nosniff'}];\n headers['x-frame-options'] = [{key: 'X-Frame-Options', value: 'DENY'}];\n headers['x-xss-protection'] = [{key: 'X-XSS-Protection', value: '1; mode=block'}];\n headers['referrer-policy'] = [{key: 'Referrer-Policy', value: 'same-origin'}];\n headers['x-custom-header'] = [{key: 'X-Custom-Header', value: 'SH_V1'}];\n headers['cache-control'] = [{key: 'Cache-Control', value: 'no-store'}];\n headers['feature-policy'] = [{key: 'Feature-Policy', value: \"microphone 'self'\"}];\n headers['expect-ct'] = [{key: 'Expect-CT', value: 'enforce, max-age=30'}];\n    \/\/Return modified response\n    callback(null, response);\n};\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Node 8 &#8216;use strict&#8217;; exports.handler = (event, context, callback) => { \/\/Get contents of response const response = event.Records[0].cf.response; const headers = response.headers; \/\/Set new headers headers[&#8216;strict-transport-security&#8217;] = [{key: &#8216;Strict-Transport-Security&#8217;, value: &#8216;max-age=63072000; includeSubdomains; preload&#8217;}]; headers[&#8216;content-security-policy&#8217;] = [{key: &#8216;Content-Security-Policy&#8217;, value: &#8220;default-src<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/stuff2.mygeekvps.net\/index.php\/2019\/05\/23\/lambdaedge-security-headers\/\">Read more <span class=\"screen-reader-text\">Lambda@EDGE Security Headers<\/span><span class=\"meta-nav\"> &#8250;<\/span><\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","hentry","category-web"],"_links":{"self":[{"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":0,"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"wp:attachment":[{"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stuff2.mygeekvps.net\/index.php\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}