Scan your site now

Security Report Summary
C
Site:
Scanned Site(s):
1
IP Address:
151.101.241.184
Report Time:
30 Sep 2020 03:36:01 UTC
Checks:
Window Referrer
Window Opener
Comments
Enabled Debugging
Unsafe Functions
Warning:
Please have a look at the security issues / warnings in the report.
Warnings
Comments
Comments should be removed from the public code of a web application, since it can give an aggressor critical insights into the inner structure of the program. By using this information, the attacker could easier understand how the user session is handled by javascript or figure out the pathway data is sent to the server.
  • /*AMP_CONFIG*/[https://cdn.ampproject.org/v0.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0.js]
  • /* Copyright (c) 2014 The Polymer Project Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd */[https://cdn.ampproject.org/v0.js]
  • /*# sourceURL=/css/ampdoc.css*/[https://cdn.ampproject.org/v0.js]
  • /*# sourceURL=/css/ampshared.css*/[https://cdn.ampproject.org/v0.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-inputmask-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-analytics-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-mustache-0.2.js]
  • /* mustache.js - Logic-less {{mustache}} templates with JavaScript http://github.com/janl/mustache.js*/[https://cdn.ampproject.org/v0/amp-mustache-0.2.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-bind-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-access-0.1.js]
  • /*# sourceURL=/extensions/amp-access/0.1/amp-access.css*/[https://cdn.ampproject.org/v0/amp-access-0.1.js]
  • /*# sourceURL=/extensions/amp-access/0.1/amp-access.css*/[https://cdn.ampproject.org/v0/amp-access-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-carousel-0.2.js]
  • /*# sourceURL=/extensions/amp-carousel/0.2/amp-carousel.css*/[https://cdn.ampproject.org/v0/amp-carousel-0.2.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-social-share-0.1.js]
  • /*# sourceURL=/extensions/amp-social-share/0.1/amp-social-share.css*/[https://cdn.ampproject.org/v0/amp-social-share-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-list-0.1.js]
  • /*# sourceURL=/extensions/amp-list/0.1/amp-list.css*/[https://cdn.ampproject.org/v0/amp-list-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-sidebar-0.1.js]
  • /*# sourceURL=/extensions/amp-sidebar/0.1/amp-sidebar.css*/[https://cdn.ampproject.org/v0/amp-sidebar-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-form-0.1.js]
  • /*# sourceURL=/extensions/amp-form/0.1/amp-form.css*/[https://cdn.ampproject.org/v0/amp-form-0.1.js]
  • /*# sourceURL=/extensions/amp-form/0.1/amp-form.css*/[https://cdn.ampproject.org/v0/amp-form-0.1.js]
  • /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */[https://cdn.ampproject.org/v0/amp-lightbox-0.1.js]
  • /*# sourceURL=/extensions/amp-lightbox/0.1/amp-lightbox.css*/[https://cdn.ampproject.org/v0/amp-lightbox-0.1.js]
  • /* Script:ESI%20RR%20Collection - ScriptInstance:66e9fa19690a468ab0ff0e808a38dca9 - CompiledAt:2020-09-01 17:44:34 */[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • /* font-weight: 800; */[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • /* font-family: 'Fira Sans', Helvetica, Arial, sans-serif; */[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • /* font-weight: 800; */[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • /* font-family: 'Fira Sans', Helvetica, Arial, sans-serif; */[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • /*!sc*/[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /*|*/[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /*|*/[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /* svg sizing */[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /* reset button */[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /* piano global */[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /* parallax to be disabled below laptop devices on none-amp pages */[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /* amp overrides */[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • /* jw player premium skin */[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
Enabled Debugging
The JavaScript debugging functions should always removed after development stage, because they could expose informations on the inner workings of the code. In production, it is a loophole and could show a possible attacker where to find possibly exploitable vulnerabilities or interesting variables.
  • console.log("! v9");[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log("!! on Dev!");[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log(error)}}]);[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log("! on indy DEV BRIGHTSITES");[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log("! on indy DEV BRIGHTSITES fill ",data)},onError:function(error){console.log("! on indy DEV BRIGHTSITES RC - err ",error)}}])})()}else if(window.location.href.indexOf("independent.co.uk")>0){(function(){console.log("! on indy PROD");[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log("! on indy PROD render ",data)},onFill:function(data){console.log("! on indy PROD fill ",data)},onError:function(error){console.log("! on indy PROD RC - err ",error)}}])})()}else if(window.location.href.indexOf("homesandproperty.co.uk")>0){(function(){var compiledTemplate0="";templates();[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log(error)}}]);[https://cdn.mediavoice.com/nativeads/script/esi/esi-rr-collection.js]
  • console.log("permutiveEventTracking "+e),window.permutive.track(e,t))}function xe(e){var t,r=e.containerId,o=e.playerType,n=e.options;("true"===Object(O.a)("subscriber")||null!==(t=JSGlobals.article)&&void 0!==t&&t.premium)&&(n.skin={name:"independent-premium"}),jwplayer(r).setup(n),window._cbv=window._cbv||[],window._cbv.push(jwplayer),jwplayer(r).on("ready",function(){try{wtAdTracer({apiKey:"T2I0ZnJHZzdrSnxmNzNmNjg0NzVmYTUzZjk2MzU2ZTNjZGRjYWI0MTljNA==",manualAdReq:!0},r,!0)}catch(e){}var n;Fe=We&&(n=(new Date).getTime(),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=(n+16*Math.random())%16|0;return n=Math.floor(n/16),("x"===e?t:3&t|8).toString(16)})),Re=jwplayer(r).getConfig().playlistItem.mediaid,jwplayer(r).pause(),jwplayer(r).getConfig().advertising.schedule[0].tag?(Ge=jwplayer(r).getConfig().advertising.schedule[0].tag,Ge=ke(Ge,Re,o),jwplayer(r).getConfig().advertising.schedule[0].tag=Ge):(Ge=jwplayer.defaults.advertising.schedule[0].tag,Ge=ke(Ge,Re,o),jwplayer.defaults.advertising.schedule[0].tag=Ge),console.log("adTag:",Ge),Ce("VideoLoad",{video:{duration:Le,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,created_at:ze,published_at:qe},play_id:Fe,auto_start:!1})}),jwplayer(r).on("playlistItem",function(){Qe=!0,De=jwplayer(r).getPlaylistIndex(),Ne=jwplayer(r).getPlaylistItem(De),Re=Ne.mediaid,Be=Ne.title,""!==Ne.tags&&void 0!==Ne.tags&&(rt=Ne.tags.split(",")),Ue=Ne.description,Le=Ne.duration,ze=Ne.updated_at,(qe=new Date(0)).setUTCSeconds(Ne.pubdate),Me=Math.floor(Le/4),Ke=[],Xe=[],jwplayer(r).getConfig().advertising.schedule[0].tag?(Ge=je(Ge),jwplayer(r).getConfig().advertising.schedule[0].tag=Ge):(Ge=je(Ge),jwplayer.defaults.advertising.schedule[0].tag=Ge)}),jwplayer(r).on("beforePlay",function(){Qe&&(jwplayer(r).trigger("wt:adReq",{adsRequest:{adTagUrl:Ge}}),Qe=!1)}),jwplayer(r).on("play",function(){Ce("VideoPlay",{video:{duration:Le,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,watch_count:1,created_at:ze,published_at:qe},play_id:Fe,auto_start:!0})}),jwplayer(r).on("pause",function(){Ce("VideoEvent",{timestamp:Ye.getTime(),event:"PressedPause",video:{duration:Le,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,watch_count:1,created_at:ze,published_at:qe},play_id:Fe})}),jwplayer(r).on("seek",function(e){Ce("VideoProgress",{seeked:!0,progress:e.offset,video:{duration:Le,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,watch_count:1,created_at:ze,published_at:qe},client:{url:window.location.href,type:"web",domain:window.location.hostname,user_agent:navigator.userAgent},play_id:Fe})}),jwplayer(r).on("time",function(e){(Te(e.position,Me)||Te(e.position,2*Me)||Te(e.position,3*Me)||Te(e.position,Le))&&Ce("VideoProgress",{seeked:!1,progress:e.position,video:{duration:e.duration,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,watch_count:1,created_at:ze,published_at:qe},client:{url:window.location.href,type:"web",domain:window.location.hostname,user_agent:navigator.userAgent},play_id:Fe})}),jwplayer(r).on("adImpression",function(e){He=e.adtitle,Je=e.clickThroughUrl,$e=e.adsystem,moatjw.add({partnerCode:"esimediaimajwplayer261872615678",player:this,adImpressionEvent:e})}),jwplayer(r).on("adTime",function(e){tt&&0<e.position&&(et=parseInt(e.duration,10),Ve=Math.floor(Le/4),tt=!1),(_e(e.position,Ve)||_e(e.position,2*Ve)||_e(e.position,3*Ve)||_e(e.position,et))&&Ce("VideoAdProgress",{progress:e.position,video:{duration:Le,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,watch_count:1,created_at:ze,published_at:qe},ad:{duration:et,advertiser_name:"",ad_system:$e,description:"",universal_ad_id_registry:"",creative_id:"",ad_id:"",min_suggested_duration:30,title:He,universal_ad_id:"",deal_id:""},play_id:Fe})}),jwplayer(r).on("adPlay",function(){Ce("VideoAdPlay",{ad:{duration:et,advertiser_name:"",ad_system:$e,description:"ad",universal_ad_id_registry:"",creative_id:"",ad_id:"",min_suggested_duration:30,title:He,universal_ad_id:"",deal_id:""},video:{duration:Le,name:Be,custom_fields:[],video_id:Re,description:Ue,tags:rt,watch_count:1,created_at:ze,published_at:qe},play_id:Fe})}),jwplayer(r).on("adClick",function(){Ce("VideoAdClick",{ad:{duration:et,advertiser_name:"",ad_system:$e,description:"Ad",universal_ad_id_registry:"",creative_id:"",ad_id:"",min_suggested_duration:30,title:He,universal_ad_id:"",deal_id:""},video:{name:He,custom_fields:[],video_id:Re,description:Je,tags:rt,watch_count:1,created_at:ze,published_at:Ye},client:{url:window.location.href,type:"web",domain:window.location.hostname,user_agent:navigator.userAgent},play_id:Fe})})}function Pe(e){var t,n;(t=document.createElement("script")).src="https://cdn.watchingthat.net/wtat.plugin-jw.min.js",document.getElementsByTagName("head")[0].appendChild(t),(n=document.createElement("script")).src="https://z.moatads.com/jwplayerplugin0938452/moatplugin.js",document.getElementsByTagName("head")[0].appendChild(n),We?permutive.readyWithTimeout(xe.bind(void 0,e),"realtime",1500):xe(e)}var De,Ne,Re,Be,Ue,Le,ze,qe,Me,Ge,Fe,Ve,We,He,Je,$e,Ze=function(e){var t=e.brand,n=e.name,r=e.price,o=e.currency,i=e.comparison,a=e.href,c=e.affiliate;void 0!==window.permutive&&window.permutive.track("AffiliateLinkClick",{product:{brand:t,name:n,price:{value:r,currency:o}},comparison:i,href:a,affiliate:c})},Ye=new Date,Ke=[],Qe=!0,Xe=[],et=0,tt=!0,nt=0,rt=[],ot=JSGlobals.adYouLike,it=ot.placement,at=ot.campaign;function ct(t,e){var n,r=Object.keys(t);[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
Unsafe Functions
eval() is eval! This functions and similar ones (document.write(), document.writeln(), element.innerHTML, element.outerHTML, element.insertAdjacentHTML()) should never be used in production stage of a website, because the parsing of the executable string is often not secure and result therefore often in a cross-site scripting vulnerability. Instead of these functions create html elements by script and add it to the DOM object.
  • insertAdjacentHTML("AfterEnd",u?u.createHTML(c):c)}catch(Fc){}E(a);[https://cdn.ampproject.org/v0/amp-mustache-0.2.js]
  • document.write(e),t.contentWindow.document.close())},t.insertUserSyncIframe=ie,t.createTrackPixelHtml=function(e){return e?'<div style="position:absolute;left:0px;top:0px;visibility:hidden;">'+'<img src="'+encodeURI(e)+'"></div>':""},t.createTrackPixelIframeHtml=ae,t.getValueString=ce,t.uniques=se,t.flatten=ue,t.getBidRequest=function(n,e){return n?(e.some(function(e){var t=c()(e.bids,function(t){return["bidId","adId","bid_id"].some(function(e){return t[e]===n})});[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
  • insertAdjacentHTML("beforebegin",e.getAttribute("data-sticky-wrapWith")||this.options.wrapWith),e.previousSibling.appendChild(e)}},{key:"activate",value:function(e){e.sticky.rect.top+e.sticky.rect.height<e.sticky.container.rect.top+e.sticky.container.rect.height&&e.sticky.stickyFor<this.vp.width&&!e.sticky.active&&(e.sticky.active=!0),this.elements.indexOf(e)<0&&this.elements.push(e),e.sticky.resizeEvent||(this.initResizeEvents(e),e.sticky.resizeEvent=!0),e.sticky.scrollEvent||(this.initScrollEvents(e),e.sticky.scrollEvent=!0),this.setPosition(e)}},{key:"initResizeEvents",value:function(e){var t=this;e.sticky.resizeListener=function(){return t.onResizeEvents(e)},window.addEventListener("resize",e.sticky.resizeListener)}},{key:"destroyResizeEvents",value:function(e){window.removeEventListener("resize",e.sticky.resizeListener)}},{key:"onResizeEvents",value:function(e){this.vp=this.getViewportSize(),e.sticky.rect=this.getRectangle(e),e.sticky.container.rect=this.getRectangle(e.sticky.container),e.sticky.rect.top+e.sticky.rect.height<e.sticky.container.rect.top+e.sticky.container.rect.height&&e.sticky.stickyFor<this.vp.width&&!e.sticky.active?e.sticky.active=!0:(e.sticky.rect.top+e.sticky.rect.height>=e.sticky.container.rect.top+e.sticky.container.rect.height||e.sticky.stickyFor>=this.vp.width&&e.sticky.active)&&(e.sticky.active=!1),this.setPosition(e)}},{key:"initScrollEvents",value:function(e){var t=this;e.sticky.scrollListener=function(){return t.onScrollEvents(e)},window.addEventListener("scroll",e.sticky.scrollListener)}},{key:"destroyScrollEvents",value:function(e){window.removeEventListener("scroll",e.sticky.scrollListener)}},{key:"onScrollEvents",value:function(e){e.sticky&&e.sticky.active&&this.setPosition(e)}},{key:"setPosition",value:function(e){this.css(e,{position:"",width:"",top:"",left:""}),this.vp.height<e.sticky.rect.height||!e.sticky.active||(e.sticky.rect.width||(e.sticky.rect=this.getRectangle(e)),e.sticky.wrap&&this.css(e.parentNode,{display:"block",width:e.sticky.rect.width+"px",height:e.sticky.rect.height+"px"}),0===e.sticky.rect.top&&e.sticky.container===this.body?(this.css(e,{position:"fixed",top:e.sticky.rect.top+"px",left:e.sticky.rect.left+"px",width:e.sticky.rect.width+"px"}),e.sticky.stickyClass&&e.classList.add(e.sticky.stickyClass)):this.scrollTop>e.sticky.rect.top-e.sticky.marginTop?(this.css(e,{position:"fixed",width:e.sticky.rect.width+"px",left:e.sticky.rect.left+"px"}),this.scrollTop+e.sticky.rect.height+e.sticky.marginTop>e.sticky.container.rect.top+e.sticky.container.offsetHeight-e.sticky.marginBottom?(e.sticky.stickyClass&&e.classList.remove(e.sticky.stickyClass),this.css(e,{top:e.sticky.container.rect.top+e.sticky.container.offsetHeight-(this.scrollTop+e.sticky.rect.height+e.sticky.marginBottom)+"px"})):(e.sticky.stickyClass&&e.classList.add(e.sticky.stickyClass),this.css(e,{top:e.sticky.marginTop+"px"}))):(e.sticky.stickyClass&&e.classList.remove(e.sticky.stickyClass),this.css(e,{position:"",width:"",top:"",left:""}),e.sticky.wrap&&this.css(e.parentNode,{display:"",width:"",height:""})))}},{key:"update",value:function(){var t=this;this.forEach(this.elements,function(e){e.sticky.rect=t.getRectangle(e),e.sticky.container.rect=t.getRectangle(e.sticky.container),t.activate(e),t.setPosition(e)})}},{key:"destroy",value:function(){var t=this;window.removeEventListener("load",this.updateScrollTopPosition),window.removeEventListener("scroll",this.updateScrollTopPosition),this.forEach(this.elements,function(e){t.destroyResizeEvents(e),t.destroyScrollEvents(e),delete e.sticky})}},{key:"getStickyContainer",value:function(e){for(var t=e.parentNode;!t.hasAttribute("data-sticky-container")&&!t.parentNode.querySelector(e.sticky.stickyContainer)&&t!==this.body;)t=t.parentNode;return t}},{key:"getRectangle",value:function(e){this.css(e,{position:"",width:"",top:"",left:""});[https://www.independent.co.uk/_build/dirty-amp.b361cf99e1c997b5f606.js]
Additional Information
Link Opener
The window.open("https://example.com/", "_blanc", "noopener"); attribute should always be added to the window.open() function, which open a site in a new tab, to reduce the risk of reverse tabnabbing. Otherwise javascript on the new page has full control over the previous visited page, including permission to change the DOM object and possibly steal session cookies.
Link Referrer
The window.open("https://example.com/", "_blanc", "referrer"); attribute should always be added to the window.open() function to prevent reverse tabnabbing for older browser, which do not support the noopener attribute and to prevent phishing attacks.
Comments
Comments should be removed from the public code of a web application, since it can give an aggressor critical insights into the inner structure of the program. By using this information, the attacker could easier understand how the user session is handled by javascript or figure out the pathway data is sent to the server.
Enabled Debugging
The JavaScript debugging functions should always removed after development stage, because they could expose informations on the inner workings of the code. In production, it is a loophole and could show a possible attacker where to find possibly exploitable vulnerabilities or interesting variables.
Unsafe Functions
eval() is eval! This functions and similar ones (document.write(), document.writeln(), element.innerHTML, element.outerHTML, element.insertAdjacentHTML()) should never be used in production stage of a website, because the parsing of the executable string is often not secure and result therefore often in a cross-site scripting vulnerability. Instead of these functions create html elements by script and add it to the DOM object.
Scanned URL(s)
Build your own business to secure the good life overseas | The Independent | The Independent