Coinhive�ݒu�ʼnƑ�{�����f�U�C�i�[�A�o�܂��u���O���J�@�u���̐l�ɓ����o�����ė~�����Ȃ��v
» 2018�N06��12�� 12��17�� ���J
�@�T�C�g�{���҂ɉ��z�ʉ݂��}�C�j���O���Ă��炤���ƂŎ��v����c�[���uCoinhive�v��ݒu���������̃T�C�g�^�c�҂��A�s���w�ߓd���I�L�^�i�E�C���X�j���p�E�ۊǂȂǂ̗e�^�ő������œE������Ă���A�Ƃ̕��o�Ă���B
�@�E�����ꂽ1�l�E�f�U�C�i�[�́u�����v���A�u���̐l�ɓ����o�����ė~�����Ȃ��v�ƁA����̃u���O�ŏڂ����o�܂�������A�b����W�߂Ă���B���������Coinhive�ɉ\���������A���O��Web�T�C�g��1�J�����ݒu�������ʁA�Ƒ�{�����A����10���~�̗������߂����Ƃ����B�����A�{���̌o�܂ɋ^����o���A�������߂Ɉًc��\�����Ă�Y���ٔ����N�������Ƃɂ����Ƃ����B
�u���O���
�@Coinhive�́A��p��JavaScript�R�[�h���T�C�g�ɖ��ߍ��ނƁA���̃T�C�g���{�������l��PC��CPU�p���[���g���A���z�ʉ݁uMonero�v���̌@�B�̌@�v��7�����A�T�C�g�^�c�҂ɔz�������T�[�r�X���B
�@�uWeb�T�C�g���牟�������܂����L����r�����A��֎�i�ɂȂ邱�Ɓv��ړI�ɊJ�������ƊJ������Coinhive Team�͂������A���A��������i���j�Z�t�j�����邽�߂̕��@�Ƃ��ē�������ȂǁA�T�C�g���v���̐V���ȉ\���Ƃ��Ē��ڂ�������A�u���ӂ��ɉ{���҂�CPU���g���Ȃ�}���E�F�A�ŁA���f���v�Ɣᔻ���������B
Coinhive�g�b�v�y�[�W���
�@��������́A�u�L�����ӂ�錻��̃��f�B�A�̂�����ɋ^��������Ă����v���߁A2017�N9�����{�A�u�L�����Ȃ����ă��[�U�[�o���iUX�j��ǂ����邽�߂̎��g�݁v�Ƃ��āA���O��Web�T�[�r�X��Coinhive��ݒu�����B�����u�ݒu�����Ȃ�{���҂̓��ӂ������ǂ��v�ȂǂƎw�E���A11����{�ɍ폜�����Ƃ����BCoinhive����̎��v��1000�~�������x�B�U�荞�݂͖�5000�~����Ȃ̂Łu�������v��0�������v�Ƃ����B
�@���N2����{�ɂȂ��ēˑR�A�_�ސ쌧�x����u�{���ɋ��͂��v�Ɠd�b������A������������10���Ԃɂ킽��Ƒ�{�������Ƃ����B���̒��̖ⓚ�Łu�ǂ����Coinhive�������炵���v�Ɣ����B�f�X�N�g�b�vPC1��A�m�[�gPC1��A�X�}�[�g�t�H��1�䂪�������ꂽ�Ƃ����B
�@3����{�Ɍ��x�̎�蒲�ׂ��A�x������u�S�y�[�W��Coinhive�삳���邽�߂�head���ŃX�N���v�g��ǂݍ��ˁH�v�ȂǂƂ�Ȍ��߂�������A�u���Ȃ��Ă�̂��H�v�u���_���Ă�˂���I�v�ȂLjЊd����悤�Ȍx���������Əq���B��蒲��ɁA�f�X�N�g�b�vPC�ȊO�̉����i�͕Ԋ҂��ꂽ���A�f�X�N�g�b�vPC�͌���AOS�܂ޑS�f�[�^���폜���ꂽ��ŕԋp���ꂽ�Ƃ����B
�@����ɁA3�����{�ɂ͌��@���Ŏ�蒲�ׂ��A����10���~�̗������߂����Ƃ����B
�@�ǔ��V���̕��ɂ��ƌx�@�́A�{���҂̗�������Coinhive��ݒu���Ă���T�C�g�ɂ��āA�Y�@����߂�u�i���L�҂́j�Ӑ}�ɉ����ׂ�������������A�܂��͂��̈Ӑ}�ɔ����铮���������ׂ��s���Ȏw�߂�^����d���I�L�^�v�i�E�C���X�j�ł���Ɣ��f���A���Ȃ��Ƃ�5�l��{�������Ƃ����B
�@��������͌x�@����A�u���O�ɋ��i�������͗\�������邱�Ɓj�Ȃ����l��PC�삳������A�E�g�v�Ƃ��������������Ƃ����B�����A�u���߂��߂��Ⴍ����A�o�E�g�v�u�s���Ȏw�߂ɂ��Ă܂�ōl������Ă��Ȃ��v�Ǝw�E�BCoinhive���_���Ȃ�AdSense��Google Analytics�Ȃǂ�JavaScript���A�E�g�ɂȂ蓾��̂ł͂ƌ��O����B�܂��A�����N�i���ꂽ���Ƃɂ��āu���܂��܂ȁw�A�o�E�g���x�����ׂĂقڌx�@�̓ƒf�ōق���Ƃ������ƂɂȂ��Ă��܂��v�Ƃ��S�z����B
�@���̂��߃�������́A����10���~�Ɉًc��\�����Ă�Y���ٔ����N�������Ƃɂ����Ƃ����B�u�l�����̌����������������Ƃ낭�ɒ���������Ȃ��܂܁wCoinhive�͈�@�x�Ƃ����O�Ⴞ�����c��v�u���̏����ȑO��́wCoinhive�̓E�C���X�x�Ɖ��߂�ς���v�u���ꂪCoinhive�����ɂƂǂ܂�Ƃ͌���Ȃ��v�u�E�C���X�߂́w�s���Ȏw�߁x�̉��ߎ���v�ƍl�������߂��B
�@��������́u���̍ٔ��̏������������d�v�ł͂Ȃ��A����́w�E�C���X�߁x�^�p�����S�Ȃ��̂ɂ��A�V�������l�ݏo�����Ƃ���N���G�C�^�[������H�����Ƃ̂Ȃ��悤�A�ł��邱�Ƃ��������v�Əq�ׂĂ���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);