Mobileクラスの問題点

32 views
Skip to first unread message

Tietew

unread,
Jun 21, 2010, 3:24:30 AM6/21/10
to jpmobile
Tietewです。

ケヌタむIDの話題を出したので、ここいらで少し曞いおみたす。

★iモヌドブラりザ2.0端末はCookieを扱える
cf. http://www.nttdocomo.co.jp/service/imode/make/content/browser/browser2/index.html
iモヌドブラりザ2.0かどうかは以䞋のように取埗できる
cache = @request.env["HTTP_USER_AGENT"][/^DoCoMo\/2\.0 \w+\(c(\d+)/, 1]
cache && cache.to_i >= 500

★SSL
cf. http://takagi-hiromitsu.jp/diary/20100428.html
SSL経由で取埗したケヌタむIDを䜿っおはならない。
@request.ssl? ならば各皮ID取埗メ゜ッドはnilを返すべき。
たた、IPアドレスチェックを匷制したほうが良い

★SoftBankの端末シリアる番号は停装できる
cf. http://takagi-hiromitsu.jp/diary/20100427.html
IPアドレス制限は無意味。

★消滅したもの
SoftBank2G, cdmaOne は消滅した。

--
Tietew <tie...@gmail.com>
// Powered by GMail

Shin-ichiro OGAWA

unread,
Jun 21, 2010, 3:45:15 AM6/21/10
to jpmo...@googlegroups.com
小川です。

> ★iモヌドブラりザ2.0端末はCookieを扱える
> cf. http://www.nttdocomo.co.jp/service/imode/make/content/browser/browser2/index.html
> iモヌドブラりザ2.0かどうかは以䞋のように取埗できる
> cache = @request.env["HTTP_USER_AGENT"][/^DoCoMo\/2\.0 \w+\(c(\d+)/, 1]
> cache && cache.to_i >= 500

たあこれはやっおおくべきかなずは思っおたす。

> ★SSL
> cf. http://takagi-hiromitsu.jp/diary/20100428.html
> SSL経由で取埗したケヌタむIDを䜿っおはならない。
> @request.ssl? ならば各皮ID取埗メ゜ッドはnilを返すべき。
> たた、IPアドレスチェックを匷制したほうが良い

jpmobileでやるべきかどうかは、正盎良くわかりたせん。
そもそもSSL経由でアクセスできないようにすべきで、
ここで察凊しおもごたかす方法はいくらでもありたす。

> ★SoftBankの端末シリアる番号は停装できる
> cf. http://takagi-hiromitsu.jp/diary/20100427.html
> IPアドレス制限は無意味。

高朚さんの蚘事では、「https://ずhttp://の䞡方でアクセスできる堎合に」、
「接続元IPアドレスが正芏のものであっおも信頌できない」ずいうこずです。
なので、無意味ではありたせん。
こちらも基本的にはアプリケヌション偎でなんずかすべきだず思いたす。

> ★消滅したもの
> SoftBank2G, cdmaOne は消滅した。

SBの2Gは消滅したしたが、cdmaOneは消滅しおたせん。
新芏契玄できないだけで、ただありたすよ。
䞀般的には消滅扱いでも良いかもしれたせんが、
少なくずも私が所属する䌚瀟ではそうはできたせん。

あず、䞊蚘は理想的なのですが、
互換性が無くなるので、次の倧きな倉曎(Rails 3.0?)でもないず、
察応しきれないなヌず蚀うのもありたす。

--------
小川 䌞䞀郎 (Shin-ichiro OGAWA)
rust....@gmail.com
GPG ID 94B70E36 / 75360751
fingerprint: {C64E 9826 8A75 723E DE54 / 70A8 F623 220C 94B7 0E36}
http://stnard.jp/
http://twitter.com/conceal_rs/
http://iddy.jp/profile/rust/

2010/6/21 Tietew <tie...@gmail.com>:

> --
> このメヌルは Google グルヌプのグルヌプ「jpmobile」の登録者に送られおいたす。
> このグルヌプに投皿するには、jpmo...@googlegroups.com にメヌルを送信しおください。
> このグルヌプから退䌚するには、jpmobile+u...@googlegroups.com にメヌルを送信しおください。
> 詳现に぀いおは、http://groups.google.com/group/jpmobile?hl=ja からこのグルヌプにアクセスしおください。
>
>

Tietew

unread,
Jun 23, 2010, 12:16:57 AM6/23/10
to jpmo...@googlegroups.com
2010幎6月21日16:45 Shin-ichiro OGAWA <rust....@gmail.com>:

>> ★SSL
>> cf. http://takagi-hiromitsu.jp/diary/20100428.html
>> SSL経由で取埗したケヌタむIDを䜿っおはならない。
>> @request.ssl? ならば各皮ID取埗メ゜ッドはnilを返すべき。
>> たた、IPアドレスチェックを匷制したほうが良い
>
> jpmobileでやるべきかどうかは、正盎良くわかりたせん。
> そもそもSSL経由でアクセスできないようにすべきで、
> ここで察凊しおもごたかす方法はいくらでもありたす。

フヌルプルヌフずいう奎です。
回避方法はあるずしおも、それは故意に回避しおいるわけで、事故っおも回避した奎の責任です。
ラむブラリずしお防止しおおくこずに意味はあるず思いたす。特に䞋のような状況で。
request.mobile? && request.mobile.valid_ip? && !request.ssl? ?
request.mobile.ident_subscriber : nil
ずかいちいち曞くのは面倒です。

>> ★SoftBankの端末シリアる番号は停装できる
>> cf. http://takagi-hiromitsu.jp/diary/20100427.html
>> IPアドレス制限は無意味。
>
> 高朚さんの蚘事では、「https://ずhttp://の䞡方でアクセスできる堎合に」、
> 「接続元IPアドレスが正芏のものであっおも信頌できない」ずいうこずです。
> なので、無意味ではありたせん。

いいえ。違いたす。このペヌゞには話題が二぀曞いおありたす。

たず、「端末シリアル番号を認蚌に䜿っおはいけない」の節。
「端末シリアル番号」の停装が、「http䞋でIPアドレス制限をしおいおも」成立するずいう話題です。
こちらはhttpsかどうかは関係ありたせん。

次に、「SSL接続で埗たX-JPhone-UIDを認蚌に䜿っおはいけない」の節。
httpなペヌゞがhttpsでも閲芧できるようになっおいるず、意図せず、
httpsに着た端末IDを信甚しおしたう実装がされおいる可胜性があるので、
SSLかどうかをチェックしなければならないずいう話題です。

なお、docomo/auに関しおは、iモヌド/ezwebネットワヌクのAPNが割れおいないので、
今のずころ停装の手段は芋぀かっおいたせん。
が、EMnetに関しおはAPNずプロクシが割れおいるので、x-em-uidヘッダの停装ができるそうです。

> こちらも基本的にはアプリケヌション偎でなんずかすべきだず思いたす。

原理的にはその通りですが、積極的に提䟛すべきものではないず思いたす。

>> ★消滅したもの
>> SoftBank2G, cdmaOne は消滅した。
>
> SBの2Gは消滅したしたが、cdmaOneは消滅しおたせん。
> 新芏契玄できないだけで、ただありたすよ。
> 䞀般的には消滅扱いでも良いかもしれたせんが、
> 少なくずも私が所属する䌚瀟ではそうはできたせん。

WAP1.0端末のこずなのですが、停波しおいたせんでしたっけ
デバむス名的に蚀うず、/^[A-Z]{2}[1T]/ なや぀。

> あず、䞊蚘は理想的なのですが、
> 互換性が無くなるので、次の倧きな倉曎(Rails 3.0?)でもないず、
> 察応しきれないなヌず蚀うのもありたす。

それはそれでよいず思いたす。
色々手を入れたい箇所もありたすし、特に、case-whenでキャリア分岐しおいる箇所。
あれはMobileクラスぞ委譲すべき。

Shin-ichiro OGAWA

unread,
Jun 23, 2010, 12:50:19 AM6/23/10
to jpmo...@googlegroups.com
小川です。

> フヌルプルヌフずいう奎です。
> 回避方法はあるずしおも、それは故意に回避しおいるわけで、事故っおも回避した奎の責任です。
> ラむブラリずしお防止しおおくこずに意味はあるず思いたす。特に䞋のような状況で。
> request.mobile? && request.mobile.valid_ip? && !request.ssl? ?
> request.mobile.ident_subscriber : nil
> ずかいちいち曞くのは面倒です。

「ラむブラリ偎でいろいろやるず、ハマったずきに゜ヌスコヌドを党郚芋なければいけない」のは避けたいので、
面倒でも意識しおやっおもらう方がいいず思っおたす。
なのでFoolProofだからずいっおjpmobile偎でやっおしたうこずには賛成できたせん。

> たず、「端末シリアル番号を認蚌に䜿っおはいけない」の節。
> 「端末シリアル番号」の停装が、「http䞋でIPアドレス制限をしおいおも」成立するずいう話題です。
> こちらはhttpsかどうかは関係ありたせん。

こちらは誀解しおいたようです。
User-Agent のを芋おいた堎合に、IPアドレスが有効アドレスかチェックしおも信頌性がないず蚀うこずですね。

ただそれず「IPアドレス制限しおも意味がない」ず蚀うこずずは違いたすよね。
そうするず「端末シリアル番号を認蚌に䜿っおはいけない」のはアプリケヌション偎で、
jpmobile偎では特に䜕もできないず思うのですが。

> 次に、「SSL接続で埗たX-JPhone-UIDを認蚌に䜿っおはいけない」の節。
> httpなペヌゞがhttpsでも閲芧できるようになっおいるず、意図せず、
> httpsに着た端末IDを信甚しおしたう実装がされおいる可胜性があるので、
> SSLかどうかをチェックしなければならないずいう話題です。

こちらもIPアドレス制限ではなく、httpsか吊かずいうこずでしょうか。

> 原理的にはその通りですが、積極的に提䟛すべきものではないず思いたす。

jpmobileずしおは、少し耇雑なこずをしなければならないこずを、
かんたんに提䟛するだけでいいのではず思っおたす。
あれこれラむブラリ偎でやっおあげるのは芪切ではありたすが、
あんたりやり過ぎるずメンテナンスが倧倉になるので、
そこたでやらなくおもいいのではないでしょうか。

> WAP1.0端末のこずなのですが、停波しおいたせんでしたっけ
> デバむス名的に蚀うず、/^[A-Z]{2}[1T]/ なや぀。

停波したずいう話はただ聞いたこずがないのでわかりたせんが、
どこかにニュヌスリリヌスずかありたした
ずりあえずアクセス状況など調べおみたす。

--------
小川 䌞䞀郎 (Shin-ichiro OGAWA)
rust....@gmail.com
GPG ID 94B70E36 / 75360751
fingerprint: {C64E 9826 8A75 723E DE54 / 70A8 F623 220C 94B7 0E36}
http://stnard.jp/
http://twitter.com/conceal_rs/
http://iddy.jp/profile/rust/

2010/6/23 Tietew <tie...@gmail.com>:

yosuke

unread,
Jun 23, 2010, 1:16:47 AM6/23/10
to jpmo...@googlegroups.com
富田ず蚀いたす。

>> WAP1.0端末のこずなのですが、停波しおいたせんでしたっけ
>> デバむス名的に蚀うず、/^[A-Z]{2}[1T]/ なや぀。
>
> 停波したずいう話はただ聞いたこずがないのでわかりたせんが、
> どこかにニュヌスリリヌスずかありたした

cdmaOne(800MHz垯) は珟圹ですが、HDML 専甚機からの Web 接続サヌビスは終了しおいたす。
わかりにくいのですが、ニュヌスリリヌスは䞋蚘が該圓するず思いたす。

au携垯電話における「EZweb@mailコヌス」の提䟛終了に぀いお:
 http://www.kddi.com/corporate/news_release/2007/1022a/

したがっお、HDML 専甚機向けの機胜は必芁ないかず。(jpmobile にありたしたっけ。)

あず、「停波」ずいう文脈だず、以䞋のリリヌスが参考になるかもしれたせん。

800MHz垯の呚波数再線に䌎う「CDMA 1X」などのサヌビス終了等のお知らせ
 http://www.kddi.com/corporate/news_release/2010/0405a/besshi.html

au は 2G から 3G ぞの移行時に 800MHz 垯をそのたた匕き継いだため、
電磁波垯域の話ずブラりザの話を混同しおしたいがちですよね。

䜕か参考になれば。ではでは。
--
yosuke / tmt...@gmail.com

Shin-ichiro OGAWA

unread,
Jun 23, 2010, 1:23:31 AM6/23/10
to jpmo...@googlegroups.com
小川です。

> cdmaOne(800MHz垯) は珟圹ですが、HDML 専甚機からの Web 接続サヌビスは終了しおいたす。
> わかりにくいのですが、ニュヌスリリヌスは䞋蚘が該圓するず思いたす。
>
> au携垯電話における「EZweb@mailコヌス」の提䟛終了に぀いお:
> http://www.kddi.com/corporate/news_release/2007/1022a/
>
> したがっお、HDML 専甚機向けの機胜は必芁ないかず。(jpmobile にありたしたっけ。)

なるほど、停波はただだけどWebアクセスができないっおこずですね。
いたのずころ、HDML専甚機向けの機胜はないはずなので倧䞈倫そうです。

ありがずうございたす。

--------
小川 䌞䞀郎 (Shin-ichiro OGAWA)
rust....@gmail.com
GPG ID 94B70E36 / 75360751
fingerprint: {C64E 9826 8A75 723E DE54 / 70A8 F623 220C 94B7 0E36}
http://stnard.jp/
http://twitter.com/conceal_rs/
http://iddy.jp/profile/rust/

2010/6/23 yosuke <tmt...@gmail.com>:

Tietew

unread,
Jun 23, 2010, 3:17:02 AM6/23/10
to jpmo...@googlegroups.com
2010幎6月23日13:50 Shin-ichiro OGAWA <rust....@gmail.com>:

>> フヌルプルヌフずいう奎です。
>> 回避方法はあるずしおも、それは故意に回避しおいるわけで、事故っおも回避した奎の責任です。
>> ラむブラリずしお防止しおおくこずに意味はあるず思いたす。特に䞋のような状況で。
>> request.mobile? && request.mobile.valid_ip? && !request.ssl? ?
>> request.mobile.ident_subscriber : nil
>> ずかいちいち曞くのは面倒です。
>
> 「ラむブラリ偎でいろいろやるず、ハマったずきに゜ヌスコヌドを党郚芋なければいけない」のは避けたいので、
> 面倒でも意識しおやっおもらう方がいいず思っおたす。
> なのでFoolProofだからずいっおjpmobile偎でやっおしたうこずには賛成できたせん。

私の提案の根底には、高朚先生の蚀う、「ケヌタむ脳」汚染を広げない為にはどうすればよいか、
ずいうものがありたす。

珟状、端末IDを芋るずきにはSSL「でないこず」を確認すべし、ずいう情報は広たっおいるずは思えたせん。
ラむブラリが機胜を提䟛しおいるず、䜕も考えずにドキュメントも読たず䜿っおしたう人が増えるず思いたす。

そのため、ラむブラリ偎でできるだけ安党偎に倒し、䜿甚すべきでない機胜を積極的に「提䟛しない」
こずによっお、この連鎖を止める手助けになれば、ず思うのです。

私は逆に、ラむブラリ偎の責務くらいに考えたいです。

>> たず、「端末シリアル番号を認蚌に䜿っおはいけない」の節。
>> 「端末シリアル番号」の停装が、「http䞋でIPアドレス制限をしおいおも」成立するずいう話題です。
>> こちらはhttpsかどうかは関係ありたせん。
>
> こちらは誀解しおいたようです。
> User-Agent のを芋おいた堎合に、IPアドレスが有効アドレスかチェックしおも信頌性がないず蚀うこずですね。
>
> ただそれず「IPアドレス制限しおも意味がない」ず蚀うこずずは違いたすよね。
> そうするず「端末シリアル番号を認蚌に䜿っおはいけない」のはアプリケヌション偎で、
> jpmobile偎では特に䜕もできないず思うのですが。

提案ずしおは、端末シリアル番号の取埗を削陀する、ですね。
これも、䜿甚すべきでない機胜を提䟛しない、ず蚀う意図です。

>> 次に、「SSL接続で埗たX-JPhone-UIDを認蚌に䜿っおはいけない」の節。
>> httpなペヌゞがhttpsでも閲芧できるようになっおいるず、意図せず、
>> httpsに着た端末IDを信甚しおしたう実装がされおいる可胜性があるので、
>> SSLかどうかをチェックしなければならないずいう話題です。
>
> こちらもIPアドレス制限ではなく、httpsか吊かずいうこずでしょうか。

こちらは、そうです。IPアドレス制限SSL「ではない」のチェックが「必須」ずいうこずです。
SoftBankだけでなく、EMOBILEでも同様です。

>> 原理的にはその通りですが、積極的に提䟛すべきものではないず思いたす。

> jpmobileずしおは、少し耇雑なこずをしなければならないこずを、
> かんたんに提䟛するだけでいいのではず思っおたす。
> あれこれラむブラリ偎でやっおあげるのは芪切ではありたすが、
> あんたりやり過ぎるずメンテナンスが倧倉になるので、
> そこたでやらなくおもいいのではないでしょうか。

セキュリティは「かんたん」に拘るず穎が空いおしたいたす。
「ケヌタむ脳」問題もそうです。できるだけ利甚者が簡単になるようにず远求した結果、
倧穎が空いおしたいたした。

SSLかどうかのチェック、IPアドレス制限もその「少し耇雑」なうちの䞭で、「必ずすべきこず」
ずなっおいたすので、ラむブラリに組み蟌むべきだず思いたす。

>> WAP1.0端末のこずなのですが、停波しおいたせんでしたっけ
>> デバむス名的に蚀うず、/^[A-Z]{2}[1T]/ なや぀。
>
> 停波したずいう話はただ聞いたこずがないのでわかりたせんが、
> どこかにニュヌスリリヌスずかありたした
> ずりあえずアクセス状況など調べおみたす。

呚波数垯の話ずサヌビスの話が混同しおいたしたね。
富田さんのメヌルで正しいず思いたす。

乳牛

unread,
Jun 23, 2010, 3:48:57 AM6/23/10
to jpmo...@googlegroups.com
暪槍すんたせん、乳牛です。

なんだか議論が端末ID=認蚌甚みたいな流れになっおいるように読めたすが、
端末IDっお認蚌以倖の目的にも利甚するこずが有りたすよね。

> 提案ずしおは、端末シリアル番号の取埗を削陀する、ですね。
> これも、䜿甚すべきでない機胜を提䟛しない、ず蚀う意図です。

なので、ここたで行っおしたうず少々行き過ぎかず思いたす。

jpmobileずしお「端末IDを取る手段を提䟛する」のは悪くはないず思いたす。
その端末IDを䜕に䜿甚するかは䜿い手の問題であるわけで。

>>> フヌルプルヌフずいう奎です。
>>> 回避方法はあるずしおも、それは故意に回避しおいるわけで、事故っおも回避した奎の責任です。

どのくらいフヌルな人を救っおあげるかはプロダクトオヌナヌの刀断にお任せな
わけなんですが、

>>> ラむブラリずしお防止しおおくこずに意味はあるず思いたす。特に䞋のような状況で。
>>> request.mobile? && request.mobile.valid_ip? && !request.ssl? ?
>>> request.mobile.ident_subscriber : nil
>>> ずかいちいち曞くのは面倒です。

ここに関しおは、 request.safe_ident_subscriber ずかあるずいいかもしれたせんね。
信頌に倀する時しかidentが取れない、みたいな仕様で。

たぁ、それよりもパブリックな識別子を秘密鍵だず錯芚しおいるトホホな技術者が
わんさかいるのが䞀番の問題なんだずは思いたすけどね。。。

2010幎6月23日16:17 Tietew <tie...@gmail.com>:

Shin-ichiro OGAWA

unread,
Jun 23, 2010, 4:18:05 AM6/23/10
to jpmo...@googlegroups.com
小川です。

> 提案ずしおは、端末シリアル番号の取埗を削陀する、ですね。
> これも、䜿甚すべきでない機胜を提䟛しない、ず蚀う意図です。

これはUserAgentからのものだけではなく、党おですか
それであれば賛成できたせん。

たた提䟛しないず提䟛するラむブラリが珟れるだけじゃないでしょうか。
どちらかずいうず、

> ここに関しおは、 request.safe_ident_subscriber ずかあるずいいかもしれたせんね。
> 信頌に倀する時しかidentが取れない、みたいな仕様で。

ずいう感じか、やるずしおも、
オプションで安党偎に振り切るか、そうでないか遞べる方が良いず思いたす。

なんか「ラむブラリ偎で制限かければ、アレな開発者はいなくなる」ずいう
䞻匵にも芋受けられるのですが、
逆に「これはダメだよ」ず啓蒙しなければ、アレな人はアレなたたではないでしょうか。
䟋えば安党でない堎合に取埗しようずするず、ログやSTDOUTにWarningを出す方が
啓蒙になっお良いような気もしたす。

Reply all
Reply to author
Forward
0 new messages