Google:Google Analyticsで社内(固定IPアドレス)からのアクセスを除外

Googleアナリティクスフィルタ設定で特定のIPアドレスからのアクセスを除外し、
カウントさせないようにする方法をメモします。

WEBサイトやブログなどを運営している場合は、Googleアナリティクスを設定すると思います。

Google Analytics

http://www.google.com/intl/ja_jp/analytics/

Googleアナリティクスとは、Googleが提供する高機能な無料のアクセス解析ツールです。

サイトへのアクセス状況などの解析に非常に便利に使用できます。

しかし、自分でサイトを閲覧した場合、そのアクセスもカウントされてしまいます。
会社(社内)などでは固定IPアドレスを使用していることが多いと思います。

固定IPアドレスの場合はGoogleアナリティクスのフィルタ設定でIPアドレスを設定し、
設定したIPアドレスからのアクセスを除外することが可能です。

下記にGoolge Analyticsフィルタ設定をした時の方法を記述します。


固定IPアドレスからのアクセスを除外する方法

1.Goolgeアナリティクスにログインします。

2.「アナリティクス設定」をクリックします。

Google_Analytics_1

3.「ビュー」から「フィルタ」をクリックします。

Google_Analytics_2

4.ビューフィルタ画面が表示されるので、「+新しいフィルタ」ボタンをクリックします。

Google_Analytics_3

5.フィルタを追加する画面が表示されるので、下記のように情報を入力します。

Google_Analytics_4

・新しいフィルタを作成を選択
・フィルタ名を入力
・既存のフィルタを選択
・「除外」「IPアドレスからのトラフィック」「等しい」を選択
・除外するIPアドレスを入力

6.「保存」ボタンをクリックすれば設定は完了です。


サイトへのアクセスアップをさせる為にアクセス解析はとても重要になってくるので、
正確な数字を出すためにも上記の設定をしておくと良いと思います。

jQuery:テキスト入力の候補を表示するプラグイン「Completer」

jQueryプラグインCompleter」を使用してみたので、使用方法をメモします。

Completer」はフォームのテキスト入力時に、入力の候補を表示することができるプラグインです。

Completer

http://fengyuanchen.github.io/completer/

jquery_Completer

メールアドレスやURLなど、形式が決まっている場合は、
テキスト入力時に候補が表示されると使いやすいと思います。

下記にjQueryプラグインCompleter」を使用して、テキスト入力時に候補を表示し、
入力の補助オートコンプリート)をした時の方法をメモします。


テキスト入力の候補を表示する「Completer」

読み込むファイル

jQueryと各ファイルを読み込みます。

<link rel="stylesheet" type="text/css" href="./completer.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript"  src="./completer.js"></script>

JS

使用するテキストボックスのidを指定して、Completerを使用します。

<script type="text/javascript">
$(function() {
    $("#completer-email").completer({
        separator: "@",
        position: "bottom",
        source: ["gmail.com", "yahoo.co.jp", "infoseek.jp"]
    });
});
</script>

separator」に値との間に使用する文字を指定します。
source」に候補で表示する値を設定します。
position」で候補が表示される位置を指定することができます。デフォルトは「”bottom”」です。
inputタグに直接「data-position=”top”」と指定しても大丈夫です。
(”top”、”right”、”bottom”、”left”)

HTML

Completerを使用する為にidを指定します。

<input type="text" id="completer-email" />

また、inputタグに直接指定することも可能です。

HTML

<input type="text" completer data-separator="@" data-source="['gmail.com', 'yahoo.co.jp', 'infoseek.jp']" />

下記のように入力候補を表示することが表示させることができます。

jquery_Completer_demo

他にもオプションを使って、色々な使い方ができるようです。
ユーザにとって入力しやすくなるので、活用できそうなプラグインです。

Linux:SSH接続時のポート番号を変更する方法

LinuxサーバでSSHで接続する時のポート番号を変更する方法をメモします。

SSHのポート番号は初期状態は22番ポートで設定されています。

そのままにしていると悪意のある人から攻撃を受ける可能性があるので、
セキュリティ対策としてポート番号は必ず変更しておいた方がいいです。

SSHのポート番号を変更する際は、iptablessshd_configの設定を変更します。

下記にLinuxサーバでSSHのポート番号変更した時の手順を記述します。


SSH接続のポート番号を変更

※ポート番号を「50022」に変更する場合

SSHでログインし、スーパーユーザー(root)なります。

su -

スーパーユーザーになったら、iptables(ファイアウォール)の設定を変更します。
下記コマンドでiptablesを編集します。

vi /etc/sysconfig/iptables

新しく接続を許可するポート番号を追加します。

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50022 -j ACCEPT

保存が完了したら、iptablesを再起動します。

/etc/init.d/iptables restart

次にSSHの設定ファイルを変更します。
下記コマンドでsshd_configを編集します。

vi /etc/ssh/sshd_config

「Port 22」の箇所を「#」でコメントアウトし、
「Port 50022」を追加します。

#Port 22
Port 50022

保存が完了したら、sshdを再起動します。

/etc/init.d/sshd restart

設定が間違っていた場合など、接続できなくなるので、
現在の接続は絶対に切らずに、別の画面で新規に接続をします。

変更したポート番号でSSH接続ができるか確認します。

変更したポート番号で接続ができ、22番ポートで接続できなければ完了です。

新しく設定したポート番号で接続ができない時は、
設定を最初の状態に戻して、再起動します。
最初の情報で接続できるかを確認します。


設定が完了したら、iptablesの設定で22番ポートを拒否するように設定します。

#-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50022 -j ACCEPT

22番ポートをコメントアウトし、iptablesを再起動します。

Linux:現在作業している場所(ディレクトリ)を知る「pwd」

LinuxサーバでSSHでサーバにログインし、色々ディレクトリを移動していると
現在の作業している場所が分からなくなることがあります。

階層が深くなればなるほど、自分がどこのディレクトリにいるのかわからなくなります。

pwdコマンドを使用すれば作業している位置を知ることが可能です。
結構、頻繁的に使うことが多いです。

Linuxpwdコマンドを使用して、現在の作業しているディレクトリ確認する方法をメモします。


pwdコマンド

現在、作業しているディレクトリ(カレントディレクトリ)を
絶対パスで表示します。

pwd

pwdコマンドで現在の作業しているディレクトリを表示

※「/home/hoge/public/image/tmp」に移動した場合

pwdコマンドを実行します。

pwd

出力結果

/home/hoge/public/image/tmp

カレントディレクトリが表示されるので、現在の場所を確認することができます。


間違った作業をしない為にも自分のいる場所を知ることは重要だと思います。

Fuelphp:fuelphpでJOINしてデータを取得する方法

FuelphpQuery_Builder_Selectクラスjoinメソッドを使用しました。

データベースからデータを取得する際に複数のテーブルを結合して、
データを取得することがあります。

JOINを使用すれば異なるテーブルを結合してデータを取得することが可能です。

下記にFuelphpjoinメソッドを使用して、複数テーブル結合しデータを取得する時の方法をメモします。


Fuelphpで複数のテーブルをJOINしてデータを取得

joinメソッドonメソッドの記述方法は下記のようになります。

joinメソッド

join('テーブル', 'タイプ')

タイプには「INNER」「LEFT」「RIGHT」などを指定します。

onメソッド

on('テーブル.カラム', '=', 'テーブル.カラム')

※テーブル「item」「item_detail」をJOINする場合

・itemテーブルのデータを取得する場合

$query = \DB::select()->from('item');
$res = $query->execute()->as_array();
SELECT * FROM `item`;

・itemテーブルとitem_detailテーブルをJOINしてデータを取得する場合

$query = \DB::select()->from('item');
$query->join('item_detail', 'LEFT');
$query->on('item.id', '=', 'item_detail.item_id');
$res = $query->execute()->as_array();
SELECT * FROM `item` LEFT JOIN `item_detail` ON (`item`.`id` = `item_detail`.`item_id`);