以下のようにしたいです。
スマートフォン(3G)→許可 スマートフォン(wifi)→許可 PCブラウザ(UA偽装)→拒否
各キャリアの利用しているIPアドレスかどうかで判別します
IPアドレスは不定期に変更になったりする(多くの場合は事前予告があります)ので、こまめなチェックが必要です
http://www.nttdocomo.co.jp/service/developer/make/content/ip/
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
http://creation.mb.softbank.jp/mc/tech/tech_web/web_ipaddress.html
http://developer.emnet.ne.jp/ipaddress.html
http://www.willcom-inc.com/ja/service/contents_service/create/center_info/
openpneのようなオープンソースで、リストを用意してくれている場合もありますので、CMSを利用しているならば、開発・配布サイトも適宜チェックしたほうが良いですね
http://www.openpne.jp/pne-downloads/mobile_ip_list/
> スマートフォン(wifi)→許可
この時点でシミュレータ(UserAgentに偽装)なのかスマートフォンなのかの判別は難しいかと思います。
完全にシミュレータを排除した場合は3G回線のみを受け付けるしか方法はありません。
完全である必要が無いのであれば、wifi用のサイト閲覧用の専用アプリを作成して3G回線のみでダウンロードさせるとかになりますね。
WIFI接続を忘れてました・・・すみません
2012/02/26 15:49:05クライアントサイドスクリプトのコマンド有無で確認などという方法しかなく、
他に確実な方法は今のところは見当たらないので、
3G接続時のみログイン受付するようにして、
ログイン状態は1日とか1週間とか必要に応じて持続するようにしておく
持続中であればWIFIからの接続にも応じるようにするといった程度です
>クライアントサイドスクリプトのコマンド有無
2012/02/26 20:01:07これってどこかに参考ページありますでしょうか。。