UA以外でパソコンかスマホか判定する方法
パソコンかスマートフォン(iphoneやandroid)かを判定するには、ユーザーエージェント(UA)で判別する方法が有名。
だけどUAを偽装されたりすると、パソコンからのアクセスでもスマホの内容が見れちゃう。これを回避する。
厳密にはIPアドレスで判断できるのだけど、アクセス元が必ずしも3GやLTEだとは限らず、Wifi環境からのアクセスかも知れないので却下。
そのほか、IPアドレス以外・UA以外でパソコンかスマホかを見分けるには、ブラウザのTOUCHイベントが存在するかを調べる方法がある。
これがそのソースコード。
<script type="text/javascript"> if (('createTouch' in document) || ('ontouchstart' in document)){ // スマホからのアクセス } else { // スマホじゃない } </script>