2012年03月02日の日記です



スマホとPCの見分け方  2012-03-02 15:24:33  コンピュータ

ちょっとした Hack。


ガラケーとかフィーチャーフォンとか呼ばれているものでは、IP アドレスを見ることでPCと見分けが可能だった。

しかし、スマホでは WiFi アクセスが可能なため、見分けることができない。


一応、UserAgent で見分けることはできる。

でも、UserAgent なんて偽装も簡単だ。



そこで、こんな方法を考えてみた。

if(typeof(ontouchend)=='object') スマホ用の処理 ;

単純明快。


typeof( ~ )


に、メソッドを書いている。本来は window.ontouchend だが、javascript の規約に従い、window は省略可能。


onTouchEnd メソッドは、PC にはないが、Android / iPhone には存在する。

onTouchStart でも、onTouchMove でも、onTouchCancel でもいいが、End が一番文字数が少ないので、これを使用した。


で、メソッドが存在すれば、typeof( ) で object という文字列が帰るので、スマホであることを確認できる。

存在しなければ undefined という文字列が帰るので、PCであることが確認できる。



IP アドレスチェックのように、サーバー側 CGI で完結する仕組みではない。

でも、これで「特別な」パラメーターを送る、など工夫すればよい。




問題点:

IP アドレスに比べれば、やっぱり偽装は可能だ。

でも、UserAgent よりは偽装しにくいだろう。


UserAgent を使えば、スマホとタブレットを見分けることも可能だが、上記の方法は区別できない。

UserAgent と同時に使って、偽装されていないか確認するなど、その程度の使い方にとどめるのがよいと思う。





同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

Programming Tips

別年同日の日記

03年 土砂降りの中

10年 おゆうぎかい

13年 冒険遊び場

15年 ワンサガン


名前 内容


戻る
トップページへ

-- share --

0001

-- follow --




- Reverse Link -