PukiWiki UPDATING $Id: UPDATING.txt,v 1.27 2005/06/09 15:04:07 henoheno Exp $ 互換性に関する記述 ================== PukiWiki 1.4.6: PukiWiki PukiWiki 1.4.5_1 との非互換点 1. 管理者パスワード(従来はMD5ハッシュのみ)とベーシック認証の ユーザーパスワード(従来は平文のみ)について、保存方法を九種 類(うち五種類は OpenLDAP 互換)の中から選択できる様になりま した。 複数のフォーマットに対応するため、今後はパスワード(ハッシ ュ)の先頭に、その保存方法(スキーム)が何であるかを表記する 必要があります。この指定方法は OpenLDAP も使用しているも ので、RFC2307に準拠しています。 管理者パスワードに従来通りMD5ハッシュを用いる場合、以下の 様に、ハッシュの先頭に '{x-php-md5}' を追加して下さい。 // md5('pass') $adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72'; ベーシック認証について(従来通り)平文でパスワードを保存す る場合、特に値を変更する必要はありません。フォーマットの宣 言がないとき、パスワードは平文で保存されていると解釈されます。 $auth_users = array( 'foo' => 'foo_passwd', // 平文 'bar' => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // md5('bar_passwd') 'hoge' => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx', // LDAP SMD5 'hoge_passwd' ); 平文を除く八種類の保存フォーマットについては、強化された md5プラグインで生成・検証することができます。 ※信頼できない環境ではmd5プラグインを使用しないで下さい 2. 新しいパスワード保存方法の中に crypt() 関数を使用するものが 二種類あります('{x-php-crypt}', '{CRYPT}')が、crypt() 関数 の出力はシステム依存です。他のシステムへ / 他のシステムから 設定を持ち越した場合に動作しない(異なる結果が出力された結果、 認証が通らない)可能性があります。 新旧双方の環境でmd5プラグインを使い、結果を比較することで、 ある程度事前に検証する事が可能でしょう。 3. 新しいパスワード保存方法の中に SHA-1 アルゴリズムを使用する ものが三種類あります('{x-php-sha1}', '{SHA}', '{SSHA}')が、 このアルゴリズムは PHP 4.3.0 以降、あるいは 'mhash' エクス テンションが組み込まれた環境でなければ利用できません。 したがって該当する環境でなければ、これらのパスワード保存方 式を利用することはできません。 4. ページを表示する際に、プラグイン毎の呼び出し回数をチェック する機構が追加されました。この結果、いずれかのプラグインが 一定回数 (デフォルト:768回) を越えて呼び出された場合、即座に メッセージとリンクを表示した後、出力処理が終了します。 この場合のプラグインとは、ブロック型 「#プラグイン名」 およびインライン型「&プラグイン名;」の全てです。 特に後者については「&」のようなHTMLエンティティも 対象になります。(PukiWikiはHTMLエンティティもプラグイン であると認識します) これはDoS攻撃を避けるためのリミッターですが、非常に長い文 書の中に同一のプラグインを一定個数以上記載している場合に、 閲覧が行えなくなる可能性をもたらします。そのような場合、 必要に応じて lib/plugin.php にある定数 PKWK_PLUGIN_CALL_TIME_LIMIT の値を拡大するか、(編集は可能 であろうため)該当ページのコンテンツを適宜複数のページに分 割して下さい。 5. (PukiWiki 1.4.5において) 特にOperaブラウザのために、脚注に 対する「相対リンク」が「絶対リンク」となるように変更が行わ れされましたが、ふたたび「相対リンク」となるように修正され ました。(See BugTrack/698 for detail) (1) calendar_viewerプラグインやincludeプラグインなど、他の ページをインクルードするプラグインを使用したページの脚注 (これらは相対リンクを想定しています) に移動する代わりに、 インクルード元のページの脚注に移動してしまう副作用が発生 するため (2) 最新のOperaブラウザでは相対リンクによる影響は修正されて いるとの報告を受けているため 定数 PKWK_ALLOW_RELATIVE_FOOTNOTE_ANCHOR(default.ini.php) の値を変更することにより、1.4.5 当時の状態(絶対パス)にする ことが可能です。 6. calendar_viewerプラグインが表示するページのタイトル(日付入り のページ名)について、表示フォーマットを切り替えられる様にな りました。また、デフォルトが「年/月/日 (曜日)」となりました。 このフォーマットはcalendar_viewerプラグインの先頭で指定する 事ができ、元通りに直すことも可能です。 7. 管理者に電子メールで通知を行う関数 pkwk_mail_notify() が作成 されました。この関数は自明な値をあらかじめ保持しますが、その 副作用として、$notify_header に従来通り From: を設定している 場合に From: が重複し、メールが送信されない可能性があります。 PukiWiki 1.4.5_1: PukiWiki 1.4.4との非互換点 1. デフォルトのスキン(enとja)が統合されています。 1.4.4用にリリースされているサードパーティ製スキンはほぼ そのまま利用できますが、ファイル名を含め、若干の調整を 必要とするでしょう。 2. デフォルトのCSS(screen用とprint用)が統合されています。 ファイル名に変化がありますが、出力されるCSSの構造的な変化は ありません。 3. :config/plugin/tracker/default の設定が見直されました。 特に英語版との兼ね合いにより「優先順位(priority)」が 「重要度(Severity)」に改められましたが、互換性を重視し、 既に作成されたページに影響が出る部分はそのまま残されています。 4. 1.4.5以降のスキン、および :config/plugin/tracker/default の 内容は新しく用意された機能あるいは変数を使用しているため、 以前のPukiWikiでは利用できません。 5. ワームなどによる「非現実的な長さのクエリ文字列」をブロック する機能が盛り込まれたため、今までに「極端にページ名が長い ページ」に「極端にファイル名が長いファイル」が添付されている 場合、それを操作できなくなる可能性があります。この場合、定数 PKWK_QUERY_STRING_MAX を調節することで回避することが可能です。 また、用途がイントラネット向けであれば、PKWK_QUERY_STRING_MAX の値を 0 にすることにより、この機能を無効にすることができます。 6. 脚注に対するURLが、ページ内相対リンクのみ(#hogehoge)から 絶対パス(http://path/to/pkwk?ページ名#hogehoge)に変更されました。 これは Opera ブラウザの不具合に対するものですが、副作用として calendar_viewer() のようなインクルード系のプラグインの中の 脚注リンクをクリックした場合、個別のページに画面遷移するように なっています。(See BugTrack/698 for detail) PukiWiki 1.4.4: PukiWiki 1.4.3との非互換点 1. includeプラグインにリミッターが設けられました(デフォルトで4ページまで) 2. calendar_viewerプラグインにリミッターが設けられました(一テーマ一回まで) ※将来のリリースで、数回までに拡張される可能性があります 3. Apache Webサーバー向けに .htaccess ファイルが同梱される様になりました。 サーバー上で .htaccess が有効であるとき、例えばattach ディレクトリに保 存した添付ファイルに直接アクセスすることができなくなります。この結果、 古いバージョンのrefプラグインや、そこから派生したプラグインはうまく動 作しないでしょう (これらの制限は、.htaccess を削除することで解除できます) 4. 初期化処理(init.php)が大幅に見直され、PukiWikiにとって不要なグローバル 変数(特に、危険なデータを含んでいるもの)が積極的に削除(unset)される様に なりました。具体的には $_REQUEST, $HTTP_GET_VARS, $HTTP_POST_VARS, HTTP_USER_AGENT 関係, REQUEST_URI 関係, QUERY_STRING 関係のデータにアク セスしていたサードパーティ製プラグインやカスタマイズ部分は、適切に動作 しなくなるでしょう PukiWiki 1.4.3: PukiWiki 1.4.2との非互換点 1. trackbackディレクトリに保存されるファイル名の規則が変わりました trackback/referer機能をお使いで、1.4.2から1.4.3へ移行される場合は、 PukiWikir-devサイト (http://pukiwiki.sourceforge.jp/dev/)の、 "開発日記/2004-03-18" を参照して作業を行ってください。 PukiWiki 1.4: PukiWiki 1.3.xとの非互換点 1. [[WikiName]] と WikiName は同じページを指します 2. 定義リストの書式が違います (:term:description -> :term|description) 3. リストや引用文は、下位レベルのリストや引用文を包めることができます (1.3.xでは、リストは同種のみ、引用内には引用しか包含できませんでした) 更新履歴 ======== ※詳細は公式Webサイトを参照して下さい http://pukiwiki.org/?PukiWiki%2F%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89