Browser-Mining statt Werbung für Blogs und andere Seiten

Dieser Beitrag wurde 10358 mal angezeigt.

Browser-Mining statt Werbung geht das?
JA, Mit Coin-Hive.com!

Nervt es euch nicht auch? Ständig bekommt man Werbung um die Ohren gehauen wenn man keinen Ad-Blocker benutzt.
Eine nerviger als die andere, da winkt dir einer auf der rechten Seite der Seite zu, oh Ikea Werbung… „Wink wink, huhu hier her, klick hier, schau mich an, huhu“ … kotz…

Das muss doch auch anders gehen… und stimmt! Es geht auch anders. Mit Browser-Mining. Die Idee, mit CPU Power des Besuchers etwas anzufangen ist nicht neu. Immerhin macht es die Werbeindustrie ebenfalls, den der „Winker“ aus der Werbung benötigt ebenfalls CPU Leistung und das auch nicht gerade wenig.

Ebenfalls nicht neu, der Besucher bekommt die Werbung einfach ausgeliefert und soll dies, nach der Werbeindustrie nicht mal verhindern können. Dank des WebDRM, das seit einigen Tagen durchgewunken wurde, wird es auch nicht lange dauern und der Ad-Blocker kann dank des DRM nicht mehr auf den ausgelieferten Code der Seite zugreifen um so schädliche Elemente oder auch Content aus Drittquellen unterbinden… Herrlich für die Werbung und das Tracking des einzelnen, nervig für den User.

Als Blogbetreiber kennt man es. Man versucht etwas mit der Werbung die kosten zu decken die so anfallen für den Server, für die Webseite. Blöde nur das keiner auf die Werbung klickt oder dank Ad-Blocker sieht. Der Spende Button hat auch noch nie eine Spende gesehen… traumhaft.

Also was machen?

Monero-Mining im Browser

Die Idee mittels Javascript Mining im Browser zu betreiben ist nicht neu. Die Anfänge dafür gab es bereits vor Jahren und Code-Schnipsel lassen sich auf Github finden. Nur waren die Scripte so schlecht und haben kaum etwas gebracht. Aber das scheint sich nun zu ändern.

Die Seite coin-hive.com bietet nun einen Dienst an, mit der man mittels inkludierten Javacode die Besucher zu Mining-Schafen macht. Der Einbau ist denkbar einfach. Man platziert irgendwo auf der Seite den Code und schon wird beim Besuch der Seite angefangen zu minen. Der Browser des Besuchers übernimmt den Job.

Genau wie bei der Werbung die auf den meisten Seiten gezeigt wird, wird das Mining-Script direkt ausgeführt. Bei der Werbung wird diese auch direkt ausgeliefert. Trotzdem sollte ein Blogbetreiber darauf hinweisen, das die CPU-Power des Users während des Besuchs der Seite benutzt wird. Alleine schon wegen der Fairness.

Ich sehe dieses Verfahren als bessere Möglichkeit um als Blogbetreiber ein paar Cent zu bekommen und der Besucher bekommt Werbefrei eine Seite mit Informationen präsentiert. Jeder hat also etwas davon, ein geben und ein nehmen.

Siehe auf dieser Seite hier.

Wie funktioniert die Einbindung

Die Einbindung ist denkbar einfach und wird dank der Doku auf der Seite auch erklärt.
Hier auf der Seite habe ich den Code im Footer als auch auf der Login-Seite als Captcha mit eingebaut.

<div class="mining-info">
 Diese Seite zeigt dir keine nervige Werbung, daf&uuml;r wird w&auml;hrend deines besuches etwas CPU Leistung f&uuml;r Monero-Mining verwendet.<br>
 Wenn du nicht damit einverstanden bist, verlasse bitte jetzt die Seite.
 </div>
<script src="https://coin-hive.com/lib/coinhive.min.js"></script>
<script>
	var miner = new CoinHive.Anonymous('SgkrR6VGOtt9wOVk28oBy9GdImDoOjlw', {
		autoThreads: true,
		throttle: 0.5,
		forceASMJS: false
	});
	miner.start();
</script>

Das war es schon. Der Footer ist auf der ganzen Seite aktiv. Je länger ein Besucher auf einer Seite bleibt. z.b. um etwas zu lesen, desto besser.
Wenn ein Besucher nur ganz kurz auf einer Seite bleibt, reicht die Zeit nicht aus um Sinnvoll zu minen. Es werden dann keine Hashes an den Dienst gesendet.

Man kann ebenfalls den Dienst der Seite nutzen um Bot-Anmeldung zu verhindern oder Fake Kommentare bzw. Besucheranmeldungen durch ein Hash-Captcha zu erschweren. Dies kann man z.b. in der wp-login.php oder in der comment.php des jeweiligen Templates von WordPress machen.

in der wp-login.php z.b. sucht man nach

do_action( 'login_form' );
?>

Hier drunter fügt man nun den Captcha Code von Coin-Hive.com ein:

<script src="https://coin-hive.com/lib/captcha.min.js" async></script>
<div class="coinhive-captcha" 
	data-hashes="2048" 
	data-key="SgkrR6VGOtt9wOVk28oBy9GdImDoOjlw"
	data-autostart="true"
	data-disable-elements="input[type=submit]"
	data-callback="myCaptchaCallback"
></div>

Der Login-Button ist dann erst disabled und wird erst nachdem das Captcha durchgelaufen ist aktiviert.
Dies ist keine schöne Lösung. Man könnte auch mittels Javascript den Login-button danach erst einbauen. Dies wäre vermutlich auch die etwas schönere Methode. Aber so klappt es auch.

Danach sucht man such noch die comments.php raus und sucht nach :

comment_form($comments_args);

Dadrüber wird, je nach Template ein Array erstellt in „$aria_req; $comments_args …“

Hier fügt man dann den Captcha Code ebenfalls ein. So das man z.b. diese Code bekommt:

<?php global $aria_req; $comments_args = array(
				'title_reply'=>'<h4><span>'.__('Add a Comment','ribbon-lite').'</span></h4></h4>',
				'label_submit' => __('Add Comment','ribbon-lite'),
				'comment_field' => '<p class="comment-form-comment"><label for="comment">'.__('Comment:','ribbon-lite').'<span class="required">*</span></label><textarea id="comment" name="comment" cols="45" rows="5" aria-required="true"></textarea></p>',
				'fields' => apply_filters( 'comment_form_default_fields',
					array(
					'author' => '<p class="comment-form-author">' 
						. '<label for="author">' . __( 'Name', 'ribbon-lite' ) . ':<span class="required">*</span></label>' 
						. ( $req ? '' : '' ) . '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
						
					'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email Address', 'ribbon-lite' ) . ':<span class="required">*</span></label>' 
						. ( $req ? '' : '' ) . '<input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
						
					'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website', 'ribbon-lite' ) . ':</label>' . 
			'<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>'.
			'<script src="https://coin-hive.com/lib/captcha.min.js" async></script>'.
			'<div class="coinhive-captcha" data-hashes="1024" data-key="SgkrR6VGOtt9wOVk28oBy9GdImDoOjlw" data-autostart="false" data-disable-elements="input[type=submit]" data-callback="myCaptchaCallback"></div>'
			))
			);
			comment_form($comments_args); ?>

Schon habt ihr eure Kommentare durch Captchas mit abgesichert. Vermutlich sollte hier ebenfalls der Submit Button mittels Javascript nachgeladen werden, damit es sauber ist. Aber das könnt ihr selbst entscheiden.

Falls ihr Anregungen habt, könnt ihr diese gerne in die Kommentare schreiben.

 

Wenn dir diese Beschreibung gefallen hat, kannst du gerne etwas zusätzliche CPU-Power spenden.
In dem du diese Links anklickst, wird die CPU-Power für Hashes benutzt und danach wirst du hierher zurück geleitet 😉

Link für 1024 Hashes

Link für 2048 Hashes

Link für 4096 Hashes

 

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.