OpenPNEからのおしらせ
Home > OpenPNEからのおしらせ
安定版 OpenPNE 3.4.16 リリースのお知らせ
10 / 13 木曜日 2011
OpenPNE 開発チームの今村です。
本日、安定版 OpenPNE 3.4.16 をリリースしました。
次回のリリースは 2011年11月10日(木) を予定しています。
今後、3.4系は新案定版の3.6系とリリース日を合わせ、毎月第2木曜日にリリースを予定しています。
また、3.4系のサポート期間は時期安定版のbeta(3.8beta)のリリースまでとなります。
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.16(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細は、こちらになります。
OpenPNE 3.4.16
インストール
OpenPNE 3.4.16 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。
主なバグの修正 Version 3.4.16
- #2360: #1373 で実施したメール投稿の例外を受ける処理が不適切である
- #1229: 携帯でSNS退会直後にアクセスするとCredentials Required画面が表示される
- #1962: SNS名称変更で入力した値がエスケープされていない
- #2109: 部分一致検索を行う箇所でワイルドカード検索ができてしまう
- #2120: 設定ファイルを記述し忘れた場合に、招待メールに記載されたURLにアクセスできない
- #2324: There are wrong URL generating for op_base_url with path name (パス名付きの op_base_url に対して誤った URL 生成をしている箇所がある)
- #2325: OpenPNE.ymlのbase_url にパスが含まれない場合に、デバッグモードでwarningメッセージが表示される場合がある
- #2369: ログインしてくださいというアラートが表示され続ける
- #2375: メール通知テンプレート設定にてエラーのアラートが表示され続ける
- #2413: 携帯電話IPアドレス帯域リストの更新(2011年8月)
詳細については、OpenPNE 3.4.16 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
今回、以下プラグインのバージョンアップを含んでいます。
opWebAPIPlugin: 0.5.0 → 0.5.1
ブログ告知:opWebAPIPlugin 0.5.1 リリースのお知らせ
修正内容:0.5.1 (2件のバグ修正)
opOpenSocialPlugin: 0.9.12 → 0.9.13
ブログ告知:opOpenSocialPlugin 安定版 0.9.13, 1.0.8, 1.2.6 リリースのお知らせ
修正内容:0.9.13 (1件のバグ修正)
OpenPNE 3.6 の新機能について
10 / 07 金曜日 2011
OpenPNE 開発チームの今村です。
2010/3/13にOpenPNE 3.5.0 がリリースされてから約1年8ヶ月という長い道のりを経て、ついにOpenPNE 3.6.0 をリリースすることが出来ました。
OpenPNE 3.6.0 では非常に多くのバグフィックス、新機能追加、チューニングが施されています。
チケット数にすると約300チケットもの対応をし、紹介する新機能も非常に多くなっています。
非常に長いエントリになっていますので、時間ねーぜ!という方は、下記の見出しを参考に気になるところから御覧ください(^_^;)
新機能では「部分SSL機能」や「インストール時にDBを造り直さないオプション」などが追加され、パフォーマンス面では、より高速化をめざし「opNonCountQueryPagerの利用」や「OpenPNE.ymlの結果をキャッシュする」といった改善が行なわれています。
opIntroFriendPlugin、opRankingPlugin、opFavoritePlugin が追加されました。
認証周りの仕様変更や、プラグインの依存性をサポートするようになりました。
3.6.0リリースにあたって、全ての機能の動作を確認する全機能テストも行なわれました。アクション一覧を参考に正常動作の確認がおこなわれ、新機能についても問題のないことを確認しました。
ユーザー向け新機能・改良点
部分SSL機能の追加

OpenPNEはpc_frontend、mobile_frontend、pc_backendといったアプリケーション、member/login や member/config といった数多くのアクションがあります。
部分SSL機能では、アプリケーションごとやアクションごとにSSLを使用するように出来ます。
設定方法は、config/OpenPNE.yml の103行目あたりから変更できます。
基本的には use_ssl を true にし、ssl_base_url を適宜変更することにより利用できます。
SSLに追加したいアプリケーションがある場合は、ssl_required_applications に追加をしてください。
SSLに追加したいアクションがある場合は、ssl_required_actions のそれぞれのアプリケーションに追加をしてください。
インストール時にDBを造り直さないオプションの追加
インストールタスク実行時に「—non-recreate-db」オプションを付けることによりDBを作り直さずにインストールすることが出来ます。
既存のDBを利用してOpenPNEをインストールしたい場合に有用な機能です。
OpenPNEと同名のテーブル名が存在するなどの場合に他のシステムのテーブルを予期せず削除してしまったりなどの危険を避けるため、OpenPNE.yml の設定で OpenPNE が使用するテーブルにプレフィックスを付けておく必要があります。
OpenPNE3_Setup_Guide.txt にも説明がありますのでインストール時にご確認ください。
OpenPNE.yml でセッション持続時間を設定
OpenPNE 3.6.0 ではセッションの有効期限を設定できるとようになりました。
セッションがすぐ切れてしまう!と感じている方はこの設定を見なおしてみてください。
OpenPNE.ymlにて設定をします。
モバイル用の自動リンク機能の追加

OpenPNE 3 はこれまでセキュリティ上の観点から、mobile版にてSNS内に外部サイトへのリンクを貼ってもリンクにはなりませんでした。
モバイル用の自動リンク機能が追加されたことにより、SNS内に貼られたURLから外部サイトにアクセスできるようになりました。
この機能を利用するためには、OpenPNE.ymlにて設定をします。
URLの他にメールアドレス、電話番号もリンク化することが出来ます。
外部サイトへのリンクをクリックすると、クッションページに遷移します。クッションページより、直接リンク、メールでURLを送る、Google Mobile Proxy(デフォルト)を利用する のいずれかを選択し目的のページにアクセスすることができます。

docomo と au では フルブラウザでアクセスする方法も選択できます。
次回から自動的にログイン機能の追加

ブラウザを閉じても、再度アクセスした際にログイン状態が維持されるという機能です。
多くのWebアプリケーションに付いている機能ですのでもうおなじみかとおもいます。
OpenPNE 3.5.3 でおこなった「かんたんログイン」の変更について
この件についてはこちらのエントリを読んでもらうのが良いと思いますので説明は割愛します。
→ OpenPNE 3.5.3 でおこなった「かんたんログイン」の変更について
バンドルプラグイン
OpenPNE 3.6.0 追加されたバンドルプラグイン
「opIntroFriendPlugin」「opRankingPlugin」「opFavoritePlugin」の3つがバンドルプラグインとして追加されました。
このプラグインにより、フレンドの紹介文の作成、ランキング機能の利用、お気に入り機能の利用、が可能になりました。
追加機能:アクティビティ更新設定
「opCommunityTopicPlugin」と「opDiaryPlugin」では、アクティビティ更新設定が追加され、トピックや日記が投稿された際にアクティビティに投稿を知らせる表示がされるようになりました。
管理画面の各プラグインの設定ページより設定できます。
開発者向けの新機能・改良点
アクティビティ入力フォームのデフォルト値をリクエストパラメータから渡せるように
http://redmine.openpne.jp/issues/1201
アクティビティ入力フォームが付属するガジェットを表示しているページにアクセスする際に、 body パラメータの値としてアクティビティ入力フォームにあらかじめ設定させておきたいテキストを設定しておくと、その値がアクティビティ入力フォームにあらかじめ入力された状態で表示されるようになりました。
コア側の web/image に存在している画像 (no_image.gif など) をスキンプラグインから変更できるように

http://redmine.openpne.jp/issues/1116
この目的のためにヘルパー関数 op_image_tag_sf_image(), op_image_tag(), op_image_path() が追加されました。この関数はまず有効なスキンプラグインのなかからその画像を探し、見つかればその画像、見つからない場合にコアに存在する画像に関するパス名などの情報を返します。
スキンプラグインから変更されることが期待される種類の画像を image_tag_sf_image(), image_tag(), image_path() によって表示しようとしている箇所は、これらの新しく追加されたヘルパー関数に置き換える必要があります。
(実験的な機能) 画像ストレージを変更できるように
http://redmine.openpne.jp/issues/1087
OpenPNE 3 はデフォルトではデータベースに画像バイナリを保存しますが、他のストレージにも保存できるようにしました。
代替の画像ストレージとして、ファイルシステムへの保存をサポートしました (sfImageStorageFilesystem)。
画像ストレージはプラグインから追加することができます。実装例はこちらです。(Amazon S3 を画像ストレージとして使えるようにするプラグイン)
認証プラグインにキャプションをつけられるように
http://redmine.openpne.jp/issues/1010
いままで、携帯版のログインフォームには内部的な認証モード名が表示されていましたが、各認証プラグインでユーザフレンドリーな認証名を auth_mode_caption から設定できるようにし、その値を携帯版のログインフォームに表示できるようにしました。
実装例はこちらです。
認証プラグイン用の API の変更
http://redmine.openpne.jp/issues/1009
http://redmine.openpne.jp/issues/960
招待機能が opAuthMailAddressPlugin に依存してしまっていた問題を発端として、「登録フローの変更」および「登録処理に使用していたクレデンシャルの廃止」をおこないました。
この変更以前の OpenPNE 3 で登録処理を備えた認証プラグインを作るのは困難でしたが、もしそのようなプラグインが存在するのであればこの変更の影響を受けますのでご注意ください。
変更の詳細はこちらです。
Doctrine のイベントが symfony のイベントとして通知されるように
http://redmine.openpne.jp/issues/933
Docrineはsymfonyと同様、データベースとの接続開始時、レコードの追加時や削除時、DQLの実行時などのタイミングでイベントを発行します。しかし、それらのイベントは Doctrine_Connection::addListener() メソッドなどを利用し、 Doctrine 側での設定をおこなわなければ利用することができませんでした。
この変更によって Doctrine のイベントが opDoctrineEventNotifier によって op_doctrine.post.save.Member といったイベントが symfony のイベントとして通知されるようになりました。
プラグインの依存性のサポート
http://redmine.openpne.jp/issues/557
プラグインが特定のバージョンの OpenPNE やプラグインとの依存関係を持てるようになりました。
詳細はこちらです。
お知らせメール件名を管理画面から変更可能に
http://redmine.openpne.jp/issues/471
お知らせメール件名を管理画面から変更可能にしました。従来通り変更不可にしたい場合は mail_template.yml で title_configurable を false に設定してください。
いままで、お知らせメールに使うテンプレートを追加するためには PHP ファイルのテンプレートと mail_template.yml の両方を用意する必要がありましたが、この変更以降、 mail_template.yml への記述の追加のみおこなうだけでよくなりました。
新安定版 OpenPNE 3.6.0 リリースのお知らせ
10 / 07 金曜日 2011
OpenPNE 開発チームの佐野です。
本日、安定版 OpenPNE 3.6.0 をリリースしました。
皆様お待ちかねの新安定版の誕生です。
新機能については別途詳細なエントリにて告知します。
今後、新安定版のリリースは旧安定版とタイミングを合わせ、毎月第2木曜日とします。
次回のリリースは 2011年11月10日(木)を予定しています。
グローバルナビやローカルナビの CSS を独自に書かれている方へ
OpenPNE-3.6.0 ではナビゲーション部分に関する問題を修正していますが、すでにお使いの OpenPNE を OpenPNE-3.6.0 にバージョンアップする場合に、独自に記述した CSS が無効になってしまう可能性があります。これは全ての SNS に影響する問題( opSkinClassicPlugin を使っている場合に限らない問題)です。
※この記事では、独自の CSS を記述している場合について注意していますが、 CSS に限らずともナビゲーション項目の id 属性値を記述している場合に当てはまります。 JavaScript などでも id 属性値を参照している場合には注意してください。
もともと発生していた問題の概要
OpenPNE 2系 のデザインを再現する opSkinClassicPlugin を用いている場合に、グローバルナビやローカルナビでクリックできない箇所があるという問題がありました。
この問題は OpenPNE-3.6beta 版から OpenPNE-3.6RC2 まで発生しており、 #2475 のチケットで修正され、 OpenPNE-3.6.0 に取り込まれています。
修正前の状況
管理画面の「ナビゲーション設定」から、ナビゲーション項目の URL を確認することができますが、ここには @homepage や diary/index のような記述があります。
ナビゲーションの id を出力する部分の実装に不具合があり、次のような問題がありました。
- @ から始まる表記の場合、HTML上では
- diary/index のような表記の場合、 HTML上では
ここで問題なのは、(ルーティング名が定義されているものに関して) URL の値は「 @ から始まる表記」と「 module/action の表記」のどちらでも書けるにも関わらず、その表記の仕方によって出力される id が異なっていたことです。
修正後の状況
修正前にあった問題について、 @ から始まる表記の場合も diary/index のような表記の場合も、ナビゲーションの id のアンダースコアが連続しないようにしました。
影響を受ける可能性のある方
globalNav__homepage のようなアンダースコアが 2 個連続していた id が OpenPNE-3.6.0 以降は globalNav_homepage とアンダースコアが連続しない id になります。これはグローバルナビとローカルナビに適用されます。
カスタム CSS や、独自カスタマイズなどでナビゲーション部分の CSS を記述されている方で OpenPNE-3.6.0 にバージョンアップしたり、過去に記述したナビゲーション部分の CSS を用いる場合は、この変更があったことに注意してください。
より詳細な情報についてはチケット #2475 を参照してください。
バグ修正
- #2436: プロフィール編集画面にて、プロフィール項目で重複した値が登録できる
- #2437: プロフィール項目追加・編集にある「重複の可否」の選択肢の文言が不自然
- #2443: #2361 にてプラグインコピー時のオプションを修正したが、CentOSで実行できないものだったので修正する
- #2453: 自動ログイン時に自動ログイン用のCookieが削除される
- #2473: ログイン停止にしたメンバで自動ログインにチェックをいれてログインしようとしたときに「Internal Server Error」が発生する
- #2474: 「Cookie 内のユニークな ID」が携帯を機種変したときのメルアド・パスワードログイン時に生成されない
- #2475: opSkinClassicPlugin を使うと pc_frontend のナビゲーションでクリックできない箇所がある
- #2477: PHP 5.3.4 以降の場合に画像付きメール投稿が失敗する
詳細については、OpenPNE 3.6.0 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
今回はバンドルプラグインの更新はありません。
バージョンアップ・インストール
バージョンアップ
バージョンアップ方法は、バージョンアップ手順 をご覧ください。
インストール
インストール方法は、同梱の セットアップ手順 をご覧ください。
ダウンロード・バージョン情報
ダウンロード
バージョン情報
redmine.openpne.jp のバージョン情報
OpenPNE 3.6RC2 リリースのお知らせ
09 / 30 金曜日 2011
OpenPNE 開発チームの豊岡です。
本日、開発版 OpenPNE 3.6RC2 をリリースしました。
次回のリリースは 2011年10月7日(金)を予定しています。
バグ修正
#2412: アップグレードガイドのバージョンに誤記がある
#2416: 管理画面でプロフィール項目の識別名に全角文字や角括弧が使えてしまう
#2420: sfOpenPNEFriendAction に不要な記述が含まれている(#2190 のBP対応時のマージミス)
#2427: Web への公開の許可を「表示しない」に設定しても「Web全体に公開」の選択肢が表示される
#2178: 英語のドキュメントが日本語のドキュメントに追いついていない
その他のバグ修正については、OpenPNE 3.6 RC2 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
opCommunityTopicPlugin: 1.0.2 → 1.0.2.2
opDiaryPlugin: 1.4.0 → 1.4.0.1
バージョンアップ・インストール
バージョンアップ
バージョンアップ方法は、バージョンアップ手順 をご覧ください。
インストール
インストール方法は、同梱の セットアップ手順 をご覧ください。
ダウンロード・バージョン情報
ダウンロード
バージョン情報
redmine.openpne.jp のバージョン情報
今後のスケジュールについて
今後のスケジュール
今後のスケジュールは以下を予定しています。
OpenPNE 3.6.0
2011/10/7 リリース予定
OpenPNE3.6.0 のリリース延期および RC2 リリースについて
09 / 27 火曜日 2011
※ 2011/09/28:この記事の本文に追記しました
OpenPNE 開発チームの今村です。
OpenPNE3.6 の次回のリリースについてお知らせです。
2011/09/30に OpenPNE3.6.0 のリリースを予定していましたが、
RC1 で発覚した重大な問題を対応するためリリースを1週間延期します。
この問題とは、opDiaryPlugin と opCommunityTopicPlugin に追加されたmigrateスクリプトに不備があり、正常にmigrateが終了できないという現象です。
詳細については、下記のチケットをご確認ください。
発覚した重大な問題を対応したバージョンを OpenPNE3.6RC2 として
リリースすることを予定しています。
今後の予定についてまとめると、下記の通りになります。
3.6 RC2
2011/09/30 (金) リリース
3.6 RC2対応項目
3.6.0
2011/10/07 (金) リリース
3.6.0対応項目
OpenPNE 3.6RC1 リリースのお知らせ
09 / 22 木曜日 2011
OpenPNE 開発チームの坂田です。
本日、開発版 OpenPNE 3.6RC1 をリリースしました。
次回のリリースは 2011年9月30日(金)を予定しています。
バグ修正
- #2283: 管理画面のコミュニティリストのトピック作成権限の表示が”%Community%参加者が作成可能”となってしまう
- #2330: 日本語バージョンアップ手順(3.6.0向け)に管理画面の設定手順を追記する.
- #2167: SNS名称変更で入力した値がエスケープされていない
- #2175: モバイルのフリーエリアのガジェットでタグが無視される
- #2177: セットアップ、バージョンアップドキュメントの表現、文言の修正
- #2178: 英語のドキュメントが日本語のドキュメントに追いついていない
- #2181: OpenPNE2からのアップグレードガイドに OpenPNE.yml を作成する説明がない
- #2183: [仕様バグ] アクセスブロック画面の説明が足りない
- #2186: アップグレードガイドのクローン先URLに誤記がある
- #2190: Does not access error page when if requested to the invalid member in the friend link (存在しないフレンドのフレンドリンクにアクセスしてもエラーページに遷移しない。)
その他のバグ修正については、OpenPNE 3.6 RC1 バージョン情報 をご覧ください。
バンドルされるプラグインの追加・更新情報
opAuthMailAddressPlugin: 1.3.3 → 1.3.4
opCommunityTopicPlugin: 1.0.1.1 → 1.0.2
opWebAPIPlugin: 0.5.0 → 0.5.1
opDiaryPlugin: 1.3.2.1 → 1.4.0
opAshiatoPlugin: 0.9.1.2 → 1.1.0
opIntroFriendPlugin: 0.9.2.1 → 1.0.0
opFavoritePlugin: 1.0.0.4 → 1.0.1
opRankingPlugin: 1.0.0.1 → 1.0.1
バージョンアップ・インストール
バージョンアップ
バージョンアップ方法は、バージョンアップ手順 をご覧ください。
インストール
インストール方法は、同梱の セットアップ手順 をご覧ください。
ダウンロード・バージョン情報
ダウンロード
バージョン情報
redmine.openpne.jp のバージョン情報
今後のスケジュールについて
今後のスケジュール
今後のスケジュールは以下を予定しています。
OpenPNE 3.6.0
2011/09/30 リリース予定
OpenPNE 3.4.16 リリース延期のお知らせ
09 / 16 金曜日 2011
OpenPNE 開発チームのきわです。
OpenPNE 3.4 次回リリースについてのお知らせです。
安定版 OpenPNE 3.4.15 リリースのお知らせ にて、
次回のリリースは 2011年9月8日(木) を予定しています。
とお知らせしましたが、リリースが延期となりました。
次回 OpenPNE 3.4.16 のリリースは 2011/10/13 (木) を予定しています。
なお、 OpenPNE 3.4 は 2011/9/15 に緊急リリース(OPSA-2011-004)をおこなっています。
最新バージョンは OpenPNE 3.4.15.1 となりますので、それ以前のバージョンをご利用のかたはバージョンアップをお願いします。
【緊急リリース】すべてのバージョンの OpenPNE に存在する、クライアント側キャッシュを経由した非公開情報漏洩の問題への対応のお知らせ (OPSA-2011-004)
09 / 15 木曜日 2011
OpenPNE 2 および OpenPNE 3 には、認証後のページをクライアントに送出する際に、キャッシュ制御に関する指示をおこなっていなかったため、ユーザの利用する環境によっては、非公開情報を含むページの情報がキャッシュ経由で他人に表示されてしまう問題が存在します。
本日 9 月 15 日 (木)、この問題の対策版リリースをおこないましたので、内容を確認のうえ、バージョンアップまたはパッチの適用をお願いいたします。
なお、 OpenPNE 2 については、設定によりこの問題を回避することが可能ですので、本エントリで併せて回避方法を解説していきます。
本問題について
影響を受けるシステム
以下のいずれかの条件に当てはまる場合、本問題の影響を受けます。
- OpenPNE 3.0.8.4 以下、 3.2.7.5 以下、 3.4.15 以下、 3.6beta13 以下を利用しているサイト
- OpenPNE 2 を利用しているサイトで、 OPENPNE_SEND_NO_CACHE_HEADER の設定値が false (デフォルト値)に設定されているサイト
概要
Web ブラウザやプロキシサーバといったクライアントは、パフォーマンス等の観点からレスポンスをキャッシュすることがあります。しかし、サーバから提供されるコンテンツのなかにはキャッシュするべきでない、またはキャッシュに際して留意が必要なものも存在しています。 HTTP では、そのような性質を持ったコンテンツを特定のヘッダを含めてレスポンスすることで、キャッシュの可否や有効期限などといった指示をクライアントに伝えることができます。
ところが、 OpenPNE では、非公開情報が含まれるであろうページであっても、このキャッシュに関する指示をレスポンスに含んでいなかったため、クライアント環境によっては、たとえば以下のような問題が生じていました。
- Internet Explorer などのブラウザで、ログアウトしてもしばらくキャッシュからコンテンツが表示されてしまっていた
- キャッシュ機能を持つプロキシを複数ユーザ間で利用している場合に、プロキシ側にキャッシュされた他のユーザのコンテンツが表示されてしまっていた
なお、 RFC 2616 Hypertext Transfer Protocol — HTTP/1.1 の “13.4 Response Cacheability” によると、今回のようなケースでは、クライアントは(特定の条件を除き)キャッシュの保存や表示をおこなうことができる(MAY)とされています。したがって、ログインユーザや特定の権限を持ったユーザにしか公開しない種類のコンテンツを多く有する OpenPNE でキャッシュ制御の指示がおこなわれていなかったのは、明らかな誤りでした。
想定される影響
クライアント側でのキャッシュを閲覧されてしまうことで、正当な権限を持たない者に非公開情報の取得がおこなわれてしまう恐れがあります。
キャッシュがおこなわれていない、またはキャッシュが削除されたコンテンツに関しては、この問題を利用して正当な権限を持たない者に閲覧されてしまうことはありません。また、プロキシサーバ等によりキャッシュが共有されるケースで、特定のユーザの非公開情報に絞って取得しようとすることは困難であると考えられます。
対策方法・回避方法
対応方法については、本エントリの「本問題への対応方法」をご覧ください。
サーバ側での回避方法
OpenPNE が動作する Web サーバ等において、レスポンスに以下のようなヘッダを強制的に付加するよう設定することで、この問題を回避することができます。
- Expires: Fri, 22 Apr 1988 17:00:00 GMT
- Cache-Control: no-store, no-cache, private, max-age=0, must-revalidate, post-check=0, pre-check=0
- Pragma: no-cache
これらのヘッダを付加する Apache の設定の例は以下の通りです。
<IfModule mod_headers.c> Header set Expires “Fri, 22 Apr 1988 17:00:00 GMT” Header set Cache-Control “no-store, no-cache, private, max-age=0, must-revalidate, post-check=0, pre-check=0” Header set Pragma “no-cache”
ただし、すべてのユーザ間で共通のコンテンツを利用する(たとえば、 JavaScript や CSS などの静的ファイル)場合、常にこの設定値が適用されてしまうことでパフォーマンスが低下する恐れがあります。そのため、このような回避方法が採れる場合でも、「本問題への対応方法」を参考に、抜本的な対策をおこなうことを強く推奨します。
クライアント側での回避方法
キャッシュ機能を持つプロキシサーバを経由して OpenPNE を使用しており、プロキシサーバ側の設定でそのキャッシュ機能を無効にできる場合、ドキュメント等の案内に従ってキャッシュ機能を無効にすることで、この問題の影響を受けなくすることができます。
キャッシュ機能を持つプロキシサーバを経由していないか、キャッシュ機能を無効にしても OpenPNE のコンテンツがキャッシュされる場合、ブラウザ側でキャッシュをおこなっている可能性があります。このような場合は、ブラウザ側でキャッシュの更新確認に関する設定を変更することで、この問題の影響を受けなくすることができます。たとえば、 Internet Explorer を使用している場合は、 Microsoft 社のサポートページ内、「Internet Explorer のキャッシュ設定が Web の参照に与える影響」を参考に、「保存しているページの新しいバージョンの確認」を「ページを表示するごとに確認する」に設定してください。
本問題への対応方法
「影響を受けるシステム」で示した条件を満たすすべてのサイトは、以下の対応を実施してください。
OpenPNE 3
対策版へのマイナーバージョンアップもしくは修正パッチの適用を実施してください。
OpenPNE 3.6beta14
[.zip 版ダウンロード] [修正パッチ]
OpenPNE 3.4.15.1
[.zip 版ダウンロード] [修正パッチ]
OpenPNE 3.2.7.6
[.zip 版ダウンロード] [修正パッチ]
OpenPNE 3.0.8.5
マイナーバージョンアップ手順
パッケージに同梱されているバージョンアップ手順書に記載されている通りに作業を実施してください。
各バージョンのマイナーバージョンアップ手順書は以下からも確認することができます。
- OpenPNE 3.6beta14 バージョンアップ手順書 (バージョンが 3.4 と表記されていますが、この手順は 3.6.x でも有効なものです)
- OpenPNE 3.4.15.1 バージョンアップ手順書
- OpenPNE 3.2.7.6 バージョンアップ手順書
- OpenPNE 3.0.8.5 バージョンアップ手順書
パッチ適用手順
1. OpenPNEを設置しているディレクトリにパッチファイルをアップロードします
2. SSHでログインし、1 のディレクトリに移動します
3. 以下のコマンドを実行します
$ patch -p1 < パッチファイル名
OpenPNE 2
config.php で、以下の設定値を false から true に変更してください。
// ページのキャッシュをさせないヘッダを送信するかどうか // ただしau端末の場合はこの設定にかかわらず、常に「ページのキャッシュをさせないヘッダ」が送信されます define(‘OPENPNE_SEND_NO_CACHE_HEADER’, false);
ただし、この設定項目は OpenPNE 2.8 以下のバージョンには存在しません。 OpenPNE 2.8 以下のバージョンをお使いの方は、前述の各種回避方法を参考に、この問題を回避するようにしてください。
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 (security@openpne.jp) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 security@openpne.jp に連絡してください。 security@openpne.jp はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。
【緊急リリース】opDiaryPlugin 1.3.2, 1.2.0.1, 1.0.0.1 以下に存在するWeb全体に公開機能に関するプライバシー上の問題対応のお知らせ (OPSA-2011-003)
09 / 01 木曜日 2011
opDiaryPlugin 1.3.2, 1.2.0.1, 1.0.0.1 以下には、日記をWeb全体に公開する機能に関するプライバシー上の問題が存在します。
本日9月1日、この問題の対策版として opDiaryPlugin 1.3.2.1, 1.2.0.2, 1.0.0.2 のリリースをおこないましたので、内容を確認のうえバージョンアップをお願いいたします。
本問題について
影響を受けるシステム
以下の「Web全体に公開」機能が実装された opDiaryPlugin を利用しているサイト
- opDiaryPlugin 1.3.2 以下(OpenPNE 3.6beta/3.7 向け)
- opDiaryPlugin 1.2.0.2 以下(OpenPNE 3.4 向け)
- opDiaryPlugin 1.0.0.1 以下(OpenPNE 3.2 向け)
(OpenPNE 3.0 向けの opDiaryPlugin 0.8.x には本問題の影響はありません)
概要
「Web全体に公開」機能が実装された opDiaryPlugin では、メンバーが「Web全体に公開」に指定した日記を非ログイン状態でも表示できるようになっており、このページには日記と共にメンバーのニックネームとプロフィール画像が表示されます(携帯版の場合は、プロフィール画像は表示されませんがニックネームは表示されます)。
「Web全体に公開」の日記を書いたメンバーのニックネームとプロフィール画像が表示されるのは想定された仕様ですが、opDiaryPlugin 内の特定のページへアクセスすることにより、「Web全体に公開」の日記を書いているかどうかに関わらず、任意のSNSメンバーのニックネームとプロフィール画像が外部から閲覧できてしまう問題がありました。そのため、自分のニックネームやプロフィール画像が非ログイン状態でも閲覧されてしまうことについて認識していないメンバーの情報がSNS外部から閲覧可能な状態となっていました。
また、「Web全体に公開」機能を管理者が無効にすることができず、SNS内の情報は外部には非公開であることが前提でメンバーによる公開設定も禁止したいSNSで、opDiaryPlugin を利用することができませんでした。
想定される影響
ニックネームやプロフィール画像に含まれる、メンバーがSNS外への公開を意図していない情報を、SNSへのアカウント登録やログインなしで閲覧できてしまうことがあります。
対応方法・回避方法
対応方法については、本エントリの「本問題への対応方法」をご覧ください。
回避方法
以下を実施することで、この問題を回避することができます。
- 管理画面の「プラグイン設定」において、 opDiaryPlugin を無効にする
本問題への対応方法
「影響をうけるシステム」で示した条件を満たすすべてのサイトは、以下の「プラグインバージョンアップ(必須)」および「日記をWeb全体に公開する機能の無効化(任意)」の対応を実施してください。
プラグインバージョンアップ(必須)
利用している OpenPNE のバージョンが 3.6beta13, 3.4.15, 3.2.7.5 よりも古い場合、最新版へマイナーバージョンアップをおこなってください。
各バージョンのマイナーバージョンアップ手順書はパッケージに同梱されていますが、以下からも確認することができます。
- OpenPNE 3.6beta13 バージョンアップ手順書 (バージョンが 3.4 と表記されていますが、この手順は 3.6.x でも有効なものです)
- OpenPNE 3.4.15 バージョンアップ手順書
- OpenPNE 3.2.7.5 バージョンアップ手順書
手順書に従ってバージョンアップをおこなうとバンドルされているプラグインも更新されます。
既に最新版の OpenPNE を利用している場合、以下のコマンドを実行してください。
$ ./symfony openpne:migrate
※OpenPNE 3.2.7.5 を利用している場合、openpne:migrate 実行時に「PHP Strict standards」のエラーが大量に表示されてしまい処理が完了しないことがあります。この場合は openpne:migrate の代わりに以下のように opPlugin:sync タスクを実行してください。
(今回のリリース内容では opPlugin:sync でも問題なくアップデートすることができます。)
$ ./symfony opPlugin:sync
今回対策されたプラグインのうち、バンドルされていないバージョンを利用しているなどの理由により、自動的にバージョンアップがおこなわれない場合、プラグインのリリース情報を参考に更新をおこなってください。
opDiaryPlugin
日記をWeb全体に公開する機能の無効化(任意)
今回の対策版では「日記をWeb全体に公開する機能」を完全に無効化するための設定を管理画面に追加しています。この設定は任意です。
SNS内の情報は外部には非公開であることが前提のSNSを運用しており、メンバーがWeb全体に公開の日記を書いたり、それに伴ってメンバーのニックネームやプロフィール写真の情報が公開されてしまうのが問題である場合は、プラグインのバージョンアップと合わせてこの設定もおこなってください。
日記をWeb全体に公開する機能を無効化した場合には、メンバーが日記の作成・編集をする際に公開範囲として「Web全体に公開」を選択できないようになります。また、メンバーが過去に書いた日記ページも含めて、opDiaryPlugin 内のすべてのページを非ログイン状態では見られないようになります。
設定は以下の手順でおこなってください。
- 管理画面の「プラグイン設定」から opDiaryPlugin の「設定」をクリックし、日記プラグイン設定画面を開く
- 「Web全体に公開機能使用設定」で「使用しない」を選択し、フォーム下部の「確定」ボタンをクリックする
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 (security@openpne.jp) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 security@openpne.jp に連絡してください。 security@openpne.jp はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。
OpenPNE 3.4.15 バンドルプラグイン更新のお知らせ
08 / 30 火曜日 2011
OpenPNE 開発チームの卜部です。
これまで、OpenPNE3.4.x 系のバンドルプラグインの
opAlbumPlugin は 0.9.3.1 となっておりました。
今回、opAlbumPlugin に管理機能が追加された 0.9.4.1 にあげたとしても、
安定性が損なわれるものではないと判断したため、
バンドルプラグインリストを更新しました。
すでに OpenPNE3.4.15 をお使いの場合は、以下のコマンドで opAlbumPlugin を更新することができます
$ php symfony openpne:migrate
新規で OpenPNE3.4.15 をインストールされる場合は、インストールコマンドを実行したタイミングで 0.9.4.1 がインストールされますので、上記のコマンドは不要です。