トップ  > メモ一覧  > カテゴリ「情報」の絞り込み結果 : 23件

23件中 1 〜 10 表示  1 | 2 | 3  次の10件> 最後»

No.4308 2系のURLのリクエストを3系のURLにリダイレクトするルールが定義されているファイル

2系のURLのリクエストを3系のURLにリダイレクトするルールが定義されているファイル

apps/pc_frontend/config/op2urls.php
更新:2012/02/24 13:30 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.4258 「?comment_count=13」の存在理由ってなんでしたっけ?

「?comment_count=13」の存在理由ってなんでしたっけ?

15:28
@dareka
diary/8993?comment_count=13
とかの
「?comment_count=13」の存在理由ってなんでしたっけ?
// 動作に影響ないよね

15:29
マイホームとかで、コメントが更新されたときにリンクの表示を未訪問状態にするためだったかと。

15:30
なるほど

15:30
それ以外の意味は特にないはずです(そのクエリパラメータは
// あってもなくても特に動作に影響しないはずです

15:31
了解です
ども!
更新:2012/02/02 15:26 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.3279 DB定義書@OP3.6

DB定義書@OP3.6
https://github.com/downloads/openpne/OpenPNE3-doc/OpenPNE3_6%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%AE%9A%E7%BE%A9%E6%9B%B8.xls

引用元

更新:2010/12/06 16:49 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.3192 OpenPNEWebAPI仕様書¶

OpenPNE Web API 仕様書

目次:

引用元

更新:2010/11/16 16:37 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.2684 OpenPNE3.5.3での「かんたんログイン」の端末固有IDからの(部分的)脱却で困った点

OpenPNE 3.5.3 での「かんたんログイン」の端末固有IDからの(部分的)脱却で困った点

(個人ブログなので「携帯電話個体識別番号」ではなく「端末固有 ID」と呼ぶよ)

ということで、

OpenPNE 3.5.3 でおこなった「かんたんログイン」の変更について
http://www.openpne.jp/archives/5070/

の件です。

ここで説明されているのは(技術者には既知である事項の説明を除くと)、要するに以下のようなことです。

* Cookie 内のランダムな ID を見る認証手段を用意したよ
* Cookie が使える端末では端末固有 ID ではなく Cookie 内の ID を見て「かんたんログイン」するようにしたよ
* 認証手段を「A: Cookie 内 ID のみ」「C: 端末固有 ID のみ」「B: A と B を併用」できるようにしたよ(see: http://twitter.com/co3k/status/15973375832
* B の方法を選んだ場合は、ユーザが Cookie 内 ID の利用を開始していないか、そもそも Cookie を利用できる端末でない場合は端末固有 ID で認証するけど、ユーザが Cookie 内 ID を利用しているのに Cookie にその値がなく端末固有 ID での認証を使用としてきたら弾くよ

……ということで、まあ、特に難しいこともなく、これだけなんです。

実装内容については、実際の差分を見ていただければわかるのかな、と思います(何か疑問点などあればお答えします)。

登録時の Cookie 内 ID の付与
http://github.com/openpne/OpenPNE3/commit/b1bd42e951adb4c...

認証部分 (opAuthMobileUIDPlugin)
http://github.com/ebihara/opAuthMobileUIDPlugin/commit/83...

Cookie 内 ID の更新
http://github.com/openpne/OpenPNE3/commit/bd6c562674e15b6...

ただ、この機能を実現するにあたってそれなりに苦労した点があるので、ここではそのことについて書こうと思います。

■SSL 時の Cookie 引き継ぎの問題

(Twitter 上で高木浩光さんから http://twitter.com/HiromitsuTakagi/status/16057716034 という指摘を受けているので、ここで紹介している secure.softbank.ne.jp にまとめる方法について問題ないかどうか、ソフトバンクモバイルに問い合わせしてみようと思ってます。あくまで以下は「OpenPNE 3.5.3 ではこうやっている」という程度の情報と思ってください)

これはどちらかというと、端末固有 ID 認証というより、 au や SoftBank 端末でセッション継続用 Cookie が SSL と非 SSL 間で維持できないことに関する対策なのですが……

SoftBank での HTTPS 通信には secure.softbank.ne.jp を通すパターンとそうでないパターンの 2 種類があり得ます(HTTP のコンテンツ経由で HTTPS のコンテンツに遷移した場合は secure.softbank.ne.jp を通るが、メール内 URL などから直接 HTTPS のコンテンツにアクセスした場合は secure.softbank.ne.jp を通さない)。
secure.softbank.ne.jp を通す場合と通さない場合で Cookie をどう格納するかが変わるので、 SoftBank で Cookie を利用する場合はこの点に気をつける必要があります。

OpenPNE では secure.softbank.ne.jp 対策として、以下の対応をおこないました。(対応チケット自体は http://redmine.openpne.jp/issues/1112 です)
http://github.com/openpne/OpenPNE3/commit/46d87866bb5eb04...

SoftBank 端末の HTTPS 通信は secure.softbank.ne.jp 経由に限定し、通常の HTTPS 通信でやってきた場合は secure.softbank.ne.jp 経由のアクセスになるようリダイレクトするというものです。
ただ、ここで問題になるのが、「現在のリクエストが secure.softbank.ne.jp を経由しているのかどうかアプリ側から知ることができない」という点です。そこで、ここでは、

* X-JPhone-UID はゲートウェイで付与されるので、リクエストにこれを含む HTTPS 通信は secure.softbank.ne.jp を経由していると見なす
* X-JPhone-UID が取れない場合は secure.softbank.ne.jp 付きの URL にリダイレクトする(X-JPhone-UID を送信していないユーザの場合にリダイレクトループするのを防ぐため、リダイレクト前にセッションクッキーを発行し、このクッキーを持っている場合はリダ イレクトしないようにする(つまり、 secure.softbank.ne.jp へのリダイレクトは一回しか行わない))

という、「普通に使っているユーザであればなんとか問題なさそう」というのが最低限保証できるぐらいのレベルの対応はおこないました。

■認証に使う Cookie 内の ID の生成について

PHP の srand() 関数は Mersenne Twister のアルゴリズムを使っているようです(http://jp2.php.net/manual/ja/function.mt-rand.php )。これは予測可能な乱数を生成するので、これだけではこの用途の ID の生成にはさすがに使えません。

かといって初回のセッション ID を使い回すのもどうか……と悩みに悩んで見つけたのが、 Ethna の Ethna_Util::getRandom() です。
http://git.sourceforge.jp/view?p=ethna/ethna.git;a=blob;f...

Ethna_Util::getRandom() ではまず mt_srand() により、 microtime() の結果に getmypid() の結果を加算したものを、乱数生成器にシードとして指定します。その後、 /proc/net/dev が読める環境であればこの中身と mt_rand() と getmypid() の結果を結合した文字列と、現在時刻と mt_rand() により生成した値の MD5 ハッシュを生成します。

で、 Ethna は BSD License だったので、 Ethna のコードの一部を Apache License な OpenPNE で流用することはライセンス的に矛盾しません。そういうわけでこの Ethna_Util::getRandom() をありがたく拝借し、 opToolkit::getRandom() として利用させてもらうことにしました(http://github.com/openpne/OpenPNE3/commit/b1bd42e951adb4c... )。ありがたいかぎりです。

ということで認証に使う Cookie 内の ID の生成には、 opToolkit::getRandom() (Ethna_Util::getRandom())を使っています。前置き長っ。

# ところで Ethna では PHP が生成するセッション ID ではなく、このメソッドで得られる値をセッション ID として使用しているようです(ちゃんとコード追っていないんで間違っていたらごめんなさい)。

■メンバーと紐づけた端末固有 ID 利用の完全な脱却について

結局これは今回は断念したんですが…… OpenPNE で使っている「ブラックリスト」機能は、ログインしようとしている端末の固有 ID が、 DB 内の禁止するべき端末固有 ID のリストに含まれている場合はログインを弾くというものなので、 OpenPNE 側としては他の情報と一切紐付かない、ただの端末固有 ID のリストがあればそれでよいわけです。

問題なのが管理画面から特定のユーザの端末固有 ID をブロックしたい場合で、この機能をメンバーと端末固有 ID とを紐づけずにどうやって実現するかどうか、とかまで考えたかったのですが、残念ながらそこまでの余裕がなかったので、次の 3.8 に持ち越しの課題にしようと思っています。

一応の案としては「ブラックリストに入れたいメンバー ID リスト」みたいなものをもっておいて、そこにリストアップされたメンバーがログインしようとしたときに、そのメンバーの端末固有 ID をブラックリストに入れる、という感じのものがあるといえばありますが、どうなんだろうなあ。

とにかく「ブラックリスト」機能がメンバーと端末固有 ID を紐づけずに実現できるのであれば、あとは i モードブラウザ 1.0 が絶滅するのを待てばよいと……。その日が訪れるのが今から楽しみですね!

引用元

更新:2010/06/14 10:34 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.2683 OpenPNE3.5.3でおこなった「かんたんログイン」の変更について

OpenPNE 3.5.3 でおこなった「かんたんログイン」の変更について

06 / 12 土曜日 2010

OpenPNE 開発チームの海老原です。

OpenPNE 3.5.3 リリースのお知らせ
http://www.openpne.jp/archives/5068/

にて、開発版 OpenPNE 3.5.3 に「かんたんログイン」機能に対して変更をおこなったことについて触れましたが、このエントリではその詳細について説明いたします。

目次

そもそも「かんたんログイン」とは

「かんたんログイン」とは、携帯電話の端末固有 ID (OpenPNE では「携帯電話個体識別番号」と呼称しています) を使用したログインをおこなう機能です。

OpenPNE では初回登録時に携帯電話個体識別番号とメンバーを自動的に紐付け、次回ログイン時からはメールアドレスやパスワードといった情報を入力することなく、携帯電話個体識別番号を送信するだけでログインできます。

携帯電話のブラウザ上からメールアドレスやパスワードといった情報を入力するのは不便ということもあってか、多くの携帯向けウェブサイトで提供されています。

「かんたんログイン」の問題点

「かんたんログイン」で多くのサイトで使われている携帯電話個体識別番号は秘密情報ではなく公開情報です。さらにこの携帯電話個体識別番号の値は、すべてのサイトに対して共通の値が送信されます
つまり、誰でも簡単にログインに必要な個体識別番号を入手できてしまうのです。

公開情報のみで認証をおこなうことは通常考えられず、少なくともパスワードなどの秘密情報と組み合わせることが求められます(ですので、メールアドレスとパスワードの組み合わせによるログインは成り立ちます)。

携帯サイトにおいてそのような「かんたんログイン」が成り立っている(ように見える)のは、以下のような条件を満たすからです。

  • 1. 携帯電話からのアクセスであるらしいことを知ることができる
    • 携帯電話から Web サイトへのアクセスがキャリアのゲートウェイを通じておこなわれる
    • キャリアのゲートウェイの IP アドレス帯域リストが無保証で公開、保守されている
  • 2. 携帯電話端末からリクエスト中の HTTP ヘッダを書き換える手段が存在しないと思われる

二つの条件のうち、サイト側もしくは携帯電話側に問題があり、どちらか一方でも満たすことができなくなった場合、携帯電話個体識別番号を詐称することによって「かんたんログイン」を利用した なりすましログインがおこなえてしまいます(先日の「【緊急リリース】携帯版かんたんログインの不備によりなりすましがおこなわれてしまう問題について」は 1. の条件を満たせていなかった(制限を回避可能であった)ことによるものです)。

ま た、「かんたんログイン」を提供するにあたって、どのように実装すれば安全に運用できるのか、キャリアから情報が提供されたことはありません。少なくと も、いわゆる勝手サイトにおいては、安全にこの機能を提供することができるように、探り探りでこれらの二つの条件が回避されることがないように対策を進め ていくしかありません。

このように、「かんたんログイン」は極めて危ういものとなっています。近年の携帯電話端末の多機能化に伴い、危険性は今後ますます高まっていくことが予想されます。

このような状態で利用者の安全を担保することは難しく、可能な限りこの機能の提供をやめていくようにしていくことが望ましいです。

今回の OpenPNE の対応について

このような現状を鑑み、 OpenPNE では、昨日 6/11 (金) にリリースした OpenPNE 3.5.3 と、このバージョンにバンドルされている、「かんたんログイン」を提供するための認証プラグインである opAuthMobileUIDPlugin 1.3.0 を組み合わせることによって、「携帯電話個体識別番号を使わない『かんたんログイン』機能」を提供できるようにしました。

こ の「携帯電話個体識別番号を使わない『かんたんログイン』機能」を使用しているかどうかは、管理画面の設定から確認・変更することができます(ユーザ画面 から確認する方法は今のところ用意されていません)。「プラグイン設定」の「認証プラグイン設定」から opAuthMobileUIDPlugin の「設定」を選択し、表示された opAuthMobileUIDPlugin の設定ページから「認証に使用する ID の設定」からおこなうことができます。

それぞれの設定をおこなった場合の挙動は以下のようになります。

  • ・「Cookie 内のユニークな ID のみによって認証をおこなう」の場合、「携帯電話個体識別番号を使わない『かんたんログイン』機能」が有効になります
  • ・ 「Cookie が利用できる端末の場合は Cookie 内のユニークな ID を用い、それ以外の端末では携帯電話個体識別番号によって認証をおこなう」の場合は、可能な限り「携帯電話個体識別番号を使わない『かんたんログイン』機 能」を使い、 Cookie が使用できないドコモの i-mode ブラウザ 2.0 未満の端末でのみ従来式の携帯電話個体識別番号を使った「かんたんログイン」をおこないます(これは OpenPNE 3.5.3 以降を新規セットアップした場合のデフォルト設定値です)
  • ・「携帯電話個体識別番号のみによって認証をおこなう (非推奨)」の場合は、従来式の携帯電話個体識別番号を使った「かんたんログイン」をおこないます(これは OpenPNE 3.5.3 未満からアップデートした場合のデフォルト設定値です)

認証に使用している ID について

「携帯電話個体識別番号を使わない『かんたんログイン』機能」で使用する ID は、新規登録時に発行されたランダムな文字列です。新規登録時にこの文字列が Cookie にセットされ、ログイン時にはこの Cookie の値を読み取って認証をおこないます。
この ID は各サイトにのみ利用可能なものです。
また、携帯電話個体識別番号と違い、何らかの事情でこの ID が漏洩してしまうなどの不都合があった場合、ユーザ画面の「かんたんログイン設定」から今までの識別情報を無効にしたうえで、新しい値を Cookie にセットし直すことができます。

な お、SNS が「Cookie が利用できる端末の場合は Cookie 内のユニークな ID を用い、それ以外の端末では携帯電話個体識別番号によって認証をおこなう」を選択している場合は、 Cookie から ID を入手できなければ携帯電話個体識別番号による認証を試みます。しかし、そこで特定されたメンバーに対して既に Cookie 内のユニーク ID を発行済みである場合には、 OpenPNE は認証に失敗させます。

OpenPNE ではログイン以外の用途で携帯電話個体識別番号を使用しているか

現状、使用しています。運営者が登録した携帯電話個体識別番号を有する携帯電話端末や契約者からの新規登録、ログインを禁止するための「ブラックリスト」機能で、携帯電話個体識別番号の値を使用しています。
そのため、新規登録時にはログイン用に Cookie にセットする ID と、携帯電話個体識別番号を両方 SNS に登録しています。

し かしながら、この携帯電話個体識別番号の値は、すべてのサイトで共通に使用可能なものですから、この値と SNS に登録されているメンバー情報との組がなんらかの形で漏洩してしまった場合、 SNS の参加者のプライバシーが侵されてしまうことになります。このような情報を SNS で持つこと自体が本来危険なのです。

OpenPNE はその性質上、プライバシーに密接に関わるソフトウェアです。ですので、このようなソフトウェアを公開していく者として、 3 万 5000 以上のサイトで使用されるソフトウェア開発者としての責任を持ち、 OpenPNE プロジェクトでは、「かんたんログイン」に限らず、携帯電話個体識別番号を使用するすべての機能、機会に対して、代替手段を用意できるよう、今後も模索を 続けていきます。

SNS 運営者様へ

今回の変更は認証に関わる大きな変更となります。この変更によりご不便等おかけするかもしれませんが、これはエンドユーザをなりすまし等の危険から守るための変更です。どうぞご容赦、ご理解いただきたいと思います。

こ の「携帯電話個体識別番号を使わない『かんたんログイン』機能」は、後方互換性を考慮して、 OpenPNE 3.5.3 未満からアップグレードした SNS にはデフォルトでは適用されません。ですが、先ほどまでに述べたとおり、この機能を安全に提供するために、設定変更やエンドユーザへの告知等の対応をご検 討いただければと思います。

また、 OpenPNE 3 をお使いで、もし「かんたんログイン」機能を使用したくない場合は、 opAuthMobileUID プラグインを無効にすれば、その SNS で「かんたんログイン」機能が働くことはなくなりますので、こちらもご検討ください。

また、携帯電話個体識別番号は他の情報と組み合わせることにより個人の識別が可能な情報になり得ます。そのため、是非この機会に、管理方法が適切かどうかなどの確認をされることをおすすめいたします。

携帯サイトおよび携帯サイト向けソフトウェアの開発者様へ

と てもありがたいことに、特に PHP 製のソフトウェアでは、 OpenPNE のソースコードが参考にされているという話をよく耳にします。ですので、 OpenPNE の数多い利用者のみならず、他ソフトウェアの開発者様にも、今回の OpenPNE の対応をきっかけにして、「かんたんログイン」が広まってしまっている現状を収束できるように対応していただけることを願っています。

ま た、もし、今回の対応等に何らかセキュリティ上の問題が見られる場合、是非 security@openpne.jp (OpenPNE3 のコア開発者のみに開かれたクローズドなメーリングリストです)にお知らせいただければと思います。その他ご意見等ありましたら遠慮なく OpenPNE 開発 ML にお知らせください。

なお、今回の実装方法の詳細については日曜日あたりに海老原の個人ブログにでも書こうと思っておりますのでよろしくお願いいたします。

引用元

更新:2010/06/14 10:33 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.2659 OpenPNE2.14機能のOpenPNE3.6対応状況

https://trac.openpne.jp/svn/OpenPNE_specification/trunk/OpenPNE2.14機能のOpenPNE3.6対応状況.xls

引用元

更新:2010/06/10 18:09 カテゴリ: OpenPNE3  > 情報 ▲トップ

No.2655 OpenPNE3の小窓対応状況(2010/06/10時点)

OpenPNE3の小窓対応状況(2010/06/10時点)
-----
【対応サービス】

amazon.co.jp.js
blog-apart.com.js
blogcruiser.js
docune.jp.js
flipclip.net.js
grouper.com.js
jp.youtube.com.js
kakaku.com.js
livlyisland.js
maps.google.co.jp.js
maps.google.com.js
postpet.js
ppw.js
r.gnavi.co.jp.js
r.tabelog.com.js
sonetphoto.js
tagfriends.js
video.google.com.js
vote.nifty.com.js
wajju.jp.js
watchme.js
www.amazon.co.jp.js
www.blog-apart.com.js
www.ebitv.jp.js
www.flipclip.net.js
www.google.co.jp.js
www.google.com.js
www.grouper.com.js
www.netprice.co.jp.js
www.nicovideo.jp.js
www.wajju.jp.js
www.watchme.tv.js
www.youtube.com.js
youtube.com.js
youtube.js
-----
【対応箇所】

* 日記(本文・コメント)
* コミュニティトピック(本文・コメント)
* コミュニティホーム(コミュニティ説明文)
-----
-----
○実装
※helperを使用
<?php echo op_url_cmd(op_decoration(nl2br($diary->body))) ?>
-----
○対応箇所の確認
ack op_url_cmd -l
-----

○+α
Ustream小窓: http://www.openpne.jp/archives/4825/

引用元

更新:2010/06/10 15:38 カテゴリ: OpenPNE3  > 情報 ▲トップ
23件中 1 〜 10 表示  1 | 2 | 3  次の10件> 最後»

FuelPHP

Mac

web開発

プロマネ

マネタイズ

プレゼン

webサービス運用

webサービス

Linux

サーバ管理

MySQL

ソース・開発

svn・git

PHP

HTML・CSS

JavaScript

ツール, ライブラリ

ビジネス

テンプレート

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0