ITmedia NEWS > STUDIO >

JavaScript���s���A�u�{���҂̗�����������������v�y�[�W�o��@�uCoinhive��茙�v�u�����v�Ƙb��

» 2018�N06��20�� 13��46�� ���J

�@�T�C�g�{���҂ɉ��z�ʉ݂��}�C�j���O���Ă��炤���ƂŎ��v�𓾂���c�[���uCoinhive�v���A�������邱�ƂȂ��T�C�g�ɐݒu���������̃��[�U�[���A�s���w�ߓd���I�L�^�i�E�C���X�j�擾�E�ۊǂȂǂ̗e�^�Ōx�@�ɓE������A���c���������Ă���B

�@Coinhive�́A�T�C�g�ɐ�p��JavaScript�R�[�h�𖄂ߍ��ނƁA�{���҂�CPU�p���[���g���ĉ��z�ʉ݂��̌@����B����E�����ꂽ1�l�E�f�U�C�i�[�́u�����v�i@moro_is�j����͌x�@�ɁA�u���O�ɋ��i�������͗\�������邱�Ɓj�Ȃ����l��PC�𓮍삳������A�E�g�v�ł���A�����Ȃ�Coinhive��ݒu����Έ�@�Ƃ̐������󂯂��Ƃ����B

摜 Coinhive�����T�C�g���

�@����Coinhive�Ɍ��炸�A����I��Web�T�C�g�ɂ͂قڂ��ׂāA���炩��JavaScript���g���Ă���B���̂قƂ�ǂ́A�T�C�g�ɖ�������邱�ƂȂ��A�܂��A���O�ɋ��‚𓾂邱�ƂȂ��ݒu����A�{���҂�PC���\�[�X�������B�Ⴆ�΁AGoogle�̍L���v���O�����uAdSense�v��A�A�N�Z�X��̓T�[�r�X�uAnalytics�v�����̗Ⴞ�B

�@���̂��߁A�uCoinhive�����߂Ȃ�AdSense�Ȃǂ��A�E�g�ł͂Ȃ����v�u�ǂ��܂ł��Z�[�t�łǂ��܂ł��A�E�g��������Ȃ��v�uJavaScript��ݒu����ꍇ�͂��������������A�{���҂̋��‚𓾂�K�v������Ƃ�����񌻎��I���v�ƐS�z���鐺���傫���B

�S�v���O�����̎��O���‹��߂�y�[�W���J�@�{���́u�����v�H

�@����Ȓ��AWeb�u���E�U��œ������ׂẴv���O�����ɂ‚��āA�{���҂Ɏ��O�ɋ��‚𓾂�f���y�[�W�u�T�C�g��Ŏ��s�����v���O�����ɂ‚��ē��ӂ��m�F���邽�߂̃v���O�����v���A�G���W�j�A�̐������s���񂪎��g�̃u���O�uGUNMA GIS GEEK�v��Ō��J�����B

�@�y�[�W�\���܂łɃ_�C�A���O����20��\������A�����������ӂ����d�g�݁B�����l����́A�u�������v�u�x�@�����߂Ă���̂͂���Ȑ��E�Ȃ̂��v�uCoinhive��茙���v�ȂǂƘb��ɂȂ��Ă���B

摜 �A�N�Z�X����ƁA�܂��A���[�g���\�������

摜摜 ���̌�A���̂悤�ȃ_�C�A���O����20��\�������

�@���̃u���O�ł́AGoogle Adsense�^Analytics�̂ق��A�u���O�c�[���uWordpress�v��JavaScript���C�u�����Ȃǂ��g���Ă���A���ꂼ��uCPU�⃁�����A�d�͂Ƃ������{���҂̃��\�[�X�������v�Ƃ����B�܂��A�n�}�R���e���c�Ȃǂ��u���G�Ȍv�Z�������N���C�A���g�T�C�h�ōs�����߁A���ɕ��ׂ̍����v���O���������[�U�[�T�C�h�Ŏ��s�����v�������B

�@�y�[�W���J���Ƃ܂��A�u���̃y�[�W�ł́A�L���\����A�N�Z�X��͂Ȃǂ̂��߂ɃN���C�A���g�T�C�h�̃v���O���������s����A�{���҂�PC���\�[�X���g�p���܂��v�ȂǂƏ����ꂽ�A���[�g���\�������B���̃A���[�g��‚���ƁA�u�ȉ��̃v���O���������s���܂����H�v�ƁA�e�v���O�������s�̃I���E�I�t��I�ׂ�_�C�A���O�����X�ɕ\���B���ׂẴ_�C�A���O�ɂ‚��ăI���E�I�t��I��ł���ƁA�y�[�W���\�������B

�@��������̓u���O�ŁA�u���̂Ƃ���A���[�U�[�̓��ӂ𓾂Ȃ��Ă͂Ȃ�Ȃ��v���O�����ƁA�����‚Ŏ��s���Ă悢�v���O�����̒�`���͂����肵�Ȃ��v�Ƃ��A�S�v���O�����ɑ΂��ē��ӂ����߂�d�g�݂�������Ƃ����B�T���v���R�[�h�����J���Ă���B

�@�܂�����A�v���O�����̃I���E�I�t���X�N���v�g�Ő��䂷��d�g�݂Ŏ����������A�ꕔ�̃v���O�����̎��s���~�ł��Ȃ��ȂǁA�u�T�[�h�p�[�e�B�̃X�N���v�g���t�b�N���Ď��s�𐧌䂷��̂͂Ȃ��Ȃ��ɓ��v��������������Ă����B

Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);