squikole -10ページ目

PHPを使って手軽にGoogle Adsenseのアクセス制限(制御)をしてみる

さて、今回はプログラムのお話。

巷ではアフェリエイト、コンテンツマッチ広告などなど。副収入になりそうな(主収入にしてる人もいるか)大盛況ですね。

その中でも(いろんな意味で)話題の『 Google Adsense 』ですが・・・。
ココ とかココ などGoogleから一方的に契約を破棄されてしまうケースが多々あるようです。

原因として自分で広告をクリックしてしまう場合などがあるようです。(Google Adsense の利用規約にもそのように書いてあるし)ただ、上記の記事にあるようにGoogleから破棄理由が一切説明されないので、直接的な原因はわからないみたいですね。

これを防ぐには、条件によって Google Adsense 広告の表示をサイト運営者が制限(制御)できれば、上記のような事態をある程度は防げるようになるのではないかと思います。
(本当は Google Adsense がこういった弊害に対応できる機能を実装すればいいのに・・・)


そこで!今回は手軽にPHPを使って、この Google Adsense 広告の表示方法を制限してみます。


HTMLを全部PHP化とかも考えたのですが、なんかそれは激しく面倒臭そう&サーバーへの負荷も怖い&以降のデザイン的とかの部分でメンテが大変になりそうだったのでヽ(;´Д`)ノ今回は、手軽にHTMLの<scritp>タグを利用してみました。
PHPは<script>タグに対応しており、タグのsrc設定で読込&実行が可能なんです。 知ってました?ハイッ、ワタクシ、まーったく知りませんでした・・・。

<script type="text/javascript"><!--
google_ad_client = "pub-****************";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "EE6000";
google_color_text = "555555";
google_color_url = "215670";
</script>
--><script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
Google Adsense タグがこんなカンジだとします。
これをPHPで内包してしまいます。んで、ソースは以下。
<?php
/** 広告表示を制限するアクセス元IPアドレスを設定 */ $invaid_ips = array( '^192\.168\.0\.', '^(10\.101\.100\.)(8[0-9]|9[0-5])$', '^(10\.101\.111\.1)$', ); /** 条件に該当したら以後の処理をスキップ(Google Adsense 表示用のscriptを表示せずに終わる) */ foreach($invaid_ips as $ip) { if (0 < preg_match("/".$ip."/i", $_SERVER['REMOTE_ADDR'])) return; } /** ↓重要↓このPHPをJavaScriptとして処理させる為に以下のヘッダー送信しときましょ~ */ header("Content-type: application/x-javascript"); /** あとは上記の Google Adsense scriptタグ(とほぼ同じ)記述になりんす */ echo<<<ddd google_ad_client = "pub-****************"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel = ""; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "EE6000"; google_color_text = "555555"; google_color_url = "215670"; document.write('<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>'); ddd; ?>
と、まー、こんな感じで。あとはこのファイルを保存(便宜上、adsense.phpとして保存します)して
今までのGoogle Adsense script部分の記述を
<script type="text/javascript" src="adsense.php"></script>
と書きかえれば完了です。

これを応用して Google Adsense 狩りなんてのもいるようなので、同一IPからの大量アクセスがあったら表示を制限なんて、機能を盛り込んだら良さげですね。


PHP環境のないサイト用にサービス化しようかな~(´∀`)フフフ?



ただこれってGoogle Adsense の利用規約的にはどうなんだろう・・・?ヽ(;´Д`)ノ頭イイ人教えてちょ~だい。

BIND 9.3.2-P1 rndcの設定

BIND 9.3.2-P1版(ソースからコンパイル)でのrndcコマンドを利用可能にするまでの設定を書きます。
(rndcは、BINDを操作する為のユーティリティ)

rndcとnamedが通信するためには認証が必要となります。これには同じ認証キーと同じ認証キーのキー名を用いなければならなりません。


認証用のキー(コンフィグファイル)を生成する

てことで早速。この認証キーとキー名が記述されたコンフィグファイルを生成します。
# /usr/local/sbin/rndc-confgen -b 512 > /etc/rndc.conf
上記のコマンドを実行すると、以下の内容で「/etc/rndc.conf」ファイルが生成されます。

rndc-confgenコマンドのオプションは以下のとおりです。詳しくはコチラ が参考になります。

-b 認証キーのサイズを指定します。1~512(ビット)指定できます。デフォルトは 128 ビットです。
-k 認証キーのキー名を指定します。デフォルトは rndc-key です。
# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "**********************************************==";
};

options {
        default-key "rndc-key";
        default-server 127.0.0.1;
        default-port 953;
};

# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
#       algorithm hmac-md5;
#       secret "**********************************************==";
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
生成されたrndc.confの
# key "rndc-key" {
#       algorithm hmac-md5;
#       secret "**********************************************==";
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { "rndc-key"; };
# };
部分をコピーし、「/etc/named.conf」ファイル(※BINDのコンフィグファイルを各環境にあわせて読み替えてください)の行末にペーストします。
その後、コメントアウトして、namedサーバーを再起動し設定を有効にします。


オーナーとパーミッションを設定

rootユーザーのみrndcを利用できるようにするため、以下のようにコンフィグファイルのオーナーとパーミッションを変更します。
# chown root:root /etc/rndc.conf
# chmod 600 /etc/rndc.conf
後程、使い方を投稿します。

雨雨

福島の今日は朝からシトシトっぴちゃん♪シトぴっちゃん♪で雨降り。

とてもとても静かな午前でございます。


雨自体はキライじゃないけど、自転車通勤ライフなオイラにゃ~、ちとキビしぃ~('A`)

鮭のはらこ飯

仙台藩主・伊達政宗の献上の品伊達のはらこ飯 ちらっとツけたテレビでやってた「いまどき!ごはん」。
そこで見てしまったんです。夕飯前のちょうど空腹期に。
オイラの懐深くに潜り込んでの全体重のせボディブローをかます狂犬が。(効くわ。そりゃ、効きますって)
出来立て!作りたて!はらこめし4人前クール冷蔵当日便利用【宮城県内・東北主要都市限定】たっ... ・・・(;゚Д゚)なんすかっ!その最強コラボ!もしくは、最凶タッグ(どっちでもイイか)。

その名も・・・
鮭はらこ飯!!!
【送料無料】みやぎの秋の味覚わたり・荒浜『本場 はらこめし』セット5人前 冷凍 はらこ(生い... なんだよっ!貧乏人の食リビドー(食強欲)を刺激しないでくれぇよ。なんて美味そうなんだ(;゚皿゚)ムハーーッ
親切な誰かがお土産に買ってこないかな。買ってこないな。 (反語)

芋煮会

今日は会社の人達と芋煮会。
山形風醤油味がかなり美味!さすが本場の芋煮の味ですわ(・∀・)
飲んで、食って。チビちゃんと遊んで。これから帰って寝ます。