Skip to content

Instantly share code, notes, and snippets.

@micksmix
Created July 23, 2018 21:11
Show Gist options
  • Select an option

  • Save micksmix/8528e11265d84377dae351dd6b54d92d to your computer and use it in GitHub Desktop.

Select an option

Save micksmix/8528e11265d84377dae351dd6b54d92d to your computer and use it in GitHub Desktop.
Recommend CSP - Chrome/FF Bookmark
javascript:function%20getElements%28tags%29%7Bvar%20arr%3D%5B%5D%3Btags%3Dtags.split%28%22%2C%22%29%3Bfor%28var%20i%3D0%3Bi%3Ctags.length%3Bi%2B%2B%29%7Bvar%20elems%3Ddocument.getElementsByTagName%28tags%5Bi%5D%29%3Bfor%28var%20j%3D0%3Bj%3Celems.length%3Bj%2B%2B%29arr.push%28elems%5Bj%5D%29%7D%0Areturn%20arr%3B%7D%0Afunction%20parseUri%28str%29%7Bvar%20o%3DparseUri.options%2Cm%3Do.parser%5Bo.strictMode%3F%22strict%22%3A%22loose%22%5D.exec%28str%29%2Curi%3D%7B%7D%2Ci%3D14%3Bwhile%28i--%29uri%5Bo.key%5Bi%5D%5D%3Dm%5Bi%5D%7C%7C%22%22%3Buri%5Bo.q.name%5D%3D%7B%7D%3Buri%5Bo.key%5B12%5D%5D.replace%28o.q.parser%2Cfunction%28%240%2C%241%2C%242%29%7Bif%28%241%29uri%5Bo.q.name%5D%5B%241%5D%3D%242%3B%7D%29%3Breturn%20uri%3B%7D%3BparseUri.options%3D%7BstrictMode%3Afalse%2Ckey%3A%5B%22source%22%2C%22protocol%22%2C%22authority%22%2C%22userInfo%22%2C%22user%22%2C%22password%22%2C%22host%22%2C%22port%22%2C%22relative%22%2C%22path%22%2C%22directory%22%2C%22file%22%2C%22query%22%2C%22anchor%22%5D%2Cq%3A%7Bname%3A%22queryKey%22%2Cparser%3A/%28%3F%3A%5E%7C%26%29%28%5B%5E%26%3D%5D%2A%29%3D%3F%28%5B%5E%26%5D%2A%29/g%7D%2Cparser%3A%7Bstrict%3A/%5E%28%3F%3A%28%5B%5E%3A%5C/%3F%23%5D%2B%29%3A%29%3F%28%3F%3A%5C/%5C/%28%28%3F%3A%28%28%5B%5E%3A%40%5D%2A%29%28%3F%3A%3A%28%5B%5E%3A%40%5D%2A%29%29%3F%29%3F%40%29%3F%28%5B%5E%3A%5C/%3F%23%5D%2A%29%28%3F%3A%3A%28%5Cd%2A%29%29%3F%29%29%3F%28%28%28%28%3F%3A%5B%5E%3F%23%5C/%5D%2A%5C/%29%2A%29%28%5B%5E%3F%23%5D%2A%29%29%28%3F%3A%5C%3F%28%5B%5E%23%5D%2A%29%29%3F%28%3F%3A%23%28.%2A%29%29%3F%29/%2Cloose%3A/%5E%28%3F%3A%28%3F%21%5B%5E%3A%40%5D%2B%3A%5B%5E%3A%40%5C/%5D%2A%40%29%28%5B%5E%3A%5C/%3F%23.%5D%2B%29%3A%29%3F%28%3F%3A%5C/%5C/%29%3F%28%28%3F%3A%28%28%5B%5E%3A%40%5D%2A%29%28%3F%3A%3A%28%5B%5E%3A%40%5D%2A%29%29%3F%29%3F%40%29%3F%28%5B%5E%3A%5C/%3F%23%5D%2A%29%28%3F%3A%3A%28%5Cd%2A%29%29%3F%29%28%28%28%5C/%28%3F%3A%5B%5E%3F%23%5D%28%3F%21%5B%5E%3F%23%5C/%5D%2A%5C.%5B%5E%3F%23%5C/.%5D%2B%28%3F%3A%5B%3F%23%5D%7C%24%29%29%29%2A%5C/%3F%29%3F%28%5B%5E%3F%23%5C/%5D%2A%29%29%28%3F%3A%5C%3F%28%5B%5E%23%5D%2A%29%29%3F%28%3F%3A%23%28.%2A%29%29%3F%29/%7D%7D%3Bvar%20sources%3D%7B%27images%27%3A%7B%7D%2C%27media%27%3A%7B%7D%2C%27script%27%3A%7B%7D%2C%27object%27%3A%7B%7D%2C%27frame%27%3A%7B%7D%2C%27font%27%3A%7B%7D%2C%27style%27%3A%7B%7D%7D%3Bvar%20directives%3D%7B%27images%27%3A%27img-src%27%2C%27media%27%3A%27media-src%27%2C%27script%27%3A%27script-src%27%2C%27object%27%3A%27object-src%27%2C%27frame%27%3A%27frame-src%27%2C%27font%27%3A%27font-src%27%2C%27style%27%3A%27style-src%27%7D%3Bfunction%20capWord%28w%29%7Breturn%20w.charAt%280%29.toUpperCase%28%29%2Bw.slice%281%29%3B%7D%0Afunction%20objIsEmpty%28obj%29%7Bfor%28var%20prop%20in%20obj%29%7Bif%28obj.hasOwnProperty%28prop%29%29%0Areturn%20false%3B%7D%0Areturn%20true%3B%7D%0Afunction%20generatePolicyFromSources%28sourceList%29%7Bvar%20policy%3D%22allow%20%27self%27%3B%22%3Bfor%28type%20in%20sourceList%29%7Bif%28objIsEmpty%28sourceList%5Btype%5D%29%29%0Acontinue%3Bpolicy%2B%3D%22%20%22%2Bdirectives%5Btype%5D%2B%22%20%22%2B%0AObject.keys%28sourceList%5Btype%5D%29.join%28%22%20%22%29%2B%22%3B%22%3B%7D%0Areturn%20policy%3B%7D%0AObject.keys%3DObject.keys%7C%7Cfunction%28obj%29%7Bvar%20keys%3D%5B%5D%3Bfor%28var%20key%20in%20obj%29%7Bif%28obj.hasOwnProperty%28key%29%29%0Akeys.push%28key%29%3B%7D%0Areturn%20keys%3B%7D%0Afunction%20analyzeContent%28%29%7Bvar%20myHost%3DparseUri%28location.href%29.host%3Bvar%20images%3DgetElements%28%22img%22%29%3Bfor%28var%20i%3D0%3Bi%3Cimages.length%3Bi%2B%2B%29%7Bvar%20uriParts%3DparseUri%28images%5Bi%5D.src%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.images%29%29%0Asources.images%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.images%29%29%0Asources.images%5Bhost%5D%3Dnull%3B%7D%7D%0Avar%20linkElems%3DgetElements%28%22link%22%29%3Bfor%28var%20i%3D0%3Bi%3ClinkElems.length%3Bi%2B%2B%29%7Bif%28linkElems%5Bi%5D.getAttribute%28%22rel%22%29%3D%3D%22shortcut%20icon%22%29%7Bvar%20uriParts%3DparseUri%28linkElems%5Bi%5D.href%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.images%29%29%0Asources.images%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.images%29%29%0Asources.images%5Bhost%5D%3Dnull%3B%7D%7D%7D%0Avar%20media%3DgetElements%28%22video%2Caudio%22%29%3Bfor%28var%20i%3D0%3Bi%3Cmedia.length%3Bi%2B%2B%29%7Bvar%20uriParts%3DparseUri%28media%5Bi%5D.src%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.media%29%29%0Asources.media%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.media%29%29%0Asources.media%5Bhost%5D%3Dnull%3B%7D%7D%0Avar%20scripts%3DgetElements%28%22script%22%29%3Bfor%28var%20i%3D0%3Bi%3Cscripts.length%3Bi%2B%2B%29%7Bvar%20uriParts%3DparseUri%28scripts%5Bi%5D.src%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.script%29%29%0Asources.script%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.script%29%29%0Asources.script%5Bhost%5D%3Dnull%3B%7D%7D%0Avar%20objAppl%3DgetElements%28%22object%2Capplet%22%29%3Bfor%28var%20i%3D0%3Bi%3CobjAppl.length%3Bi%2B%2B%29%7Bif%28objAppl%5Bi%5D.hasAttribute%28%22codebase%22%29%29%7Bvar%20uriParts%3DparseUri%28objAppl%5Bi%5D.getAttribute%28%22codebase%22%29%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5Bhost%5D%3Dnull%3B%7D%7D%0Aif%28objAppl%5Bi%5D.hasAttribute%28%22classid%22%29%29%7Bvar%20uriParts%3DparseUri%28objAppl%5Bi%5D.getAttribute%28%22classid%22%29%29%3Bif%28%5B%22http%22%2C%22https%22%2C%22ftp%22%2Cnull%5D.indexOf%28uriParts%5B%22protocol%22%5D%29%21%3D-1%29%7Bvar%20host%3DuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5Bhost%5D%3Dnull%3B%7D%7D%7D%0Aif%28objAppl%5Bi%5D.hasAttribute%28%22data%22%29%29%7Bvar%20uriParts%3DparseUri%28objAppl%5Bi%5D.getAttribute%28%22data%22%29%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5Bhost%5D%3Dnull%3B%7D%7D%0Aif%28objAppl%5Bi%5D.hasAttribute%28%22archive%22%29%29%7Bvar%20uriParts%3DparseUri%28objAppl%5Bi%5D.getAttribute%28%22archive%22%29%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5Bhost%5D%3Dnull%3B%7D%7D%7D%0Avar%20embeds%3DgetElements%28%22embed%22%29%3Bfor%28var%20i%3D0%3Bi%3Cembeds.length%3Bi%2B%2B%29%7Bvar%20uriParts%3DparseUri%28embeds%5Bi%5D.src%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.object%29%29%0Asources.object%5Bhost%5D%3Dnull%3B%7D%7D%0Avar%20frameElems%3DgetElements%28%22frame%2Ciframe%22%29%3Bfor%28var%20i%3D0%3Bi%3CframeElems.length%3Bi%2B%2B%29%7Bvar%20uriParts%3DparseUri%28frameElems%5Bi%5D.src%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.frame%29%29%0Asources.frame%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.frame%29%29%0Asources.frame%5Bhost%5D%3Dnull%3B%7D%7D%0Avar%20stylesheets%3D%7B%7D%3Btry%7Bvar%20stylesheets%3Ddocument.styleSheets%3B%7D%0Acatch%28e%29%7B%7D%0Afor%28var%20i%3D0%3Bi%3Cstylesheets.length%3Bi%2B%2B%29%7Bvar%20rules%3D%7B%7D%3Btry%7Brules%3Dstylesheets%5Bi%5D.cssRules%3B%7D%0Acatch%28e%29%7Bcontinue%3B%7D%0Aif%28%21rules%29%7Bcontinue%3B%7D%0Afor%28var%20j%3D0%3Bj%3Crules.length%3Bj%2B%2B%29%7Bif%28rules%5Bj%5D.type%3D%3Drules%5Bj%5D.FONT_FACE_RULE%29%7Bvar%20src%3Drules%5Bj%5D.style.getPropertyValue%28%22src%22%29%3Bif%28src%29%7Bvar%20url%3Dsrc.replace%28/%5Eurl%5B%27%22%5D%2A/%2C%22%22%29.replace%28/%5B%27%22%5D%2A%5C%29%24/%2C%22%22%29%3Bvar%20uriParts%3DparseUri%28url%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.font%29%29%0Asources.font%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.font%29%29%0Asources.font%5Bhost%5D%3Dnull%3B%7D%7D%7D%7D%7D%0Avar%20linkElems%3DgetElements%28%22link%22%29%3Bfor%28var%20i%3D0%3Bi%3ClinkElems.length%3Bi%2B%2B%29%7Bif%28linkElems%5Bi%5D.getAttribute%28%22rel%22%29%3D%3D%22stylesheet%22%29%7Bvar%20uriParts%3DparseUri%28linkElems%5Bi%5D.href%29%3Bvar%20host%3D%28uriParts%5B%22protocol%22%5D%3D%3D%22data%22%29%3F%22data%3A%22%3AuriParts%5B%22host%22%5D%3Bif%28host%3D%3Dnull%29%7Bif%28%21%28host%20in%20sources.style%29%29%0Asources.style%5B%22%27self%27%22%5D%3Dnull%3B%7D%0Aelse%7Bif%28host%3D%3DmyHost%29%0Ahost%3D%22%27self%27%22%3Bif%28%21%28host%20in%20sources.style%29%29%0Asources.style%5Bhost%5D%3Dnull%3B%7D%7D%7D%0Aalert%28generatePolicyFromSources%28sources%29%29%3B%7D%0AanalyzeContent%28%29%3B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment