OSDN Git Service

BugTrack2/343 Replace 'htmlspecialchars' by 'htmlsc'
[pukiwiki/pukiwiki.git] / UPDATING.txt
1 PukiWiki UPDATING
2
3
4 更新履歴
5 ========
6
7 ※詳細は公式Webサイトを参照して下さい
8
9 http://pukiwiki.osdn.jp/?PukiWiki/Download
10
11
12
13 リリース間の互換性に関する記述
14 ==============================
15
16 PukiWiki 1.5.1: PukiWiki 1.5.0 との非互換点
17
18    1. PukiWiki内でアクセス制限を行う際のデフォルト認証方式がBasic認証から
19       Form認証に変更されました。Basic認証に変更する場合は、
20       pukiwiki.ini.php で $auth_type = AUTH_TYPE_BASIC; を指定してください。
21       多くの場合、Form認証のままでも同じアカウントが利用できます。
22
23
24 PukiWiki 1.5.0: PukiWiki 1.4.7_notb との非互換点
25
26    なし
27
28
29 PukiWiki 1.4.7_notb: PukiWiki 1.4.7 との非互換点
30
31    1. TrackBack実装・referer機能が削除されました。
32       (See BugTrack2/62)
33
34 PukiWiki 1.4.7: PukiWiki 1.4.6 との非互換点
35
36    1. 管理者パスワード($adminpass)のデフォルト値が "pass" から、"(判定に絶対
37      に失敗する文字列)" に修正されました。
38        ※PukiWiki 1.4.6 のパスワードは 1.4.7 に移行できます
39        ※PukiWiki 1.4.6 以降、パスワードの保存形式は変更されています。
40          (See BugTrack/709)
41
42    2. "ページが更新される度に、プログラムをサーバー内部で実行する機能" の実装
43      は、今後グローバル変数($update_exec)ではなく定数(PKWK_UPDATE_EXEC) を使
44      用します。
45  
46      悪意を持った(しかし読み辛い)プラグインを使わざるをえない様に、誰かがあな
47      たに仕向けた場合、$update_exec を書き換えるだけでそれが実現可能です。
48      ("OSコマンドインジェクション" と呼ばれる脆弱性につながります)
49
50    3. 初期コンテンツ:
51       (See BugTrack2/118)
52
53      (ja)
54        マルチバイト文字列に依存したファイル名が初期コンテンツに含まれていた問
55        題を解消した結果、以下のページの名称が変更されました。
56          "整形ルール" => FormattingRules (編集時のリンクから参照されています)
57          "ヘルプ"     => Help (上下のナビゲーションから常に参照されています)
58
59        また、以下のページは添付されなくなりました。
60          "InterWikiテクニカル" => "InterWiki" (内容を集約)
61          "日本語" (削除)
62
63      (en)
64        以下のページ名が修正されました。
65          "FormatRule" => "FormattingRules"
66
67        また、設定 "$rule_page" は "Text Formatting Rules"(※存在しないページ)
68        ではなく "FormattingRules" をデフォルトで指定する様になりました。
69
70      これらの新しいページを追加する場合、忘れずに"凍結"して下さい。
71
72    4. ファイル: 下記のファイルが添付されなくなりました。
73      pukiwiki.php    : 必要であれば index.php をコピーしてお使い下さい。
74      skin/default.js : どこからも利用されていませんでした。
75
76    5. 脚注: 脚注のリンクに埋め込まれていた "脚注そのもの(文字列)" は、脚注全
77      文ではなく、決められた文字数だけ出力します。 (See BugTrack/420)
78
79    6. プラグイン: 以下の付プラグインは、$non_list(一覧しないパターン) に合致
80      するページを表示しません。 (See BugTrack2/140, BugTrack2/175)
81        attach, popular, related, touchgraph, yetlist
82
83
84 PukiWiki 1.4.6: PukiWiki 1.4.5_1 との非互換点
85
86     1. 管理者パスワードとベーシック認証で用いるユーザーパスワードについて、パ
87        スワードの保存方法を九種類の中から選択できる様になりました。この指定方
88        法は LDAP で使用されているものと同一で、RFC2307に準拠しています。(うち
89        五種類は OpenLDAP 互換)
90
91        そのため、今後はパスワードの先頭に、その保存方法(スキーム)が何であるか
92        を明記する必要があります。例えば従来通りMD5ハッシュを用いる場合、先頭に
93        '{x-php-md5}' を追加して下さい。
94
95          // md5('pass')
96          $adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72';
97
98        スキームの宣言がないとき、パスワードは平文で保存されていると解釈されま
99        す。
100
101          $auth_users = array(
102            'foo'  => 'foo_passwd', // 平文 (推奨しません)
103            'bar'  => '{x-php-md5}f53ae779077e987718cc285b14dfbe86',
104                      // md5('bar_passwd')
105            'hoge' => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx',
106                      // LDAP SMD5 'hoge_passwd'
107          );
108
109        平文を除く八種類の保存フォーマットについては、強化された md5プラグイン
110        で生成・検証することができます。
111        ※信頼できない環境ではmd5プラグインを使用しないで下さい
112
113     2. 新しいパスワード保存方法の中に crypt() 関数を使用するものが二種類ありま
114        す('{x-php-crypt}', '{CRYPT}')が、crypt() 関数の出力はシステム依存で
115        す。他のシステムへ / 他のシステムから設定を持ち越した場合に動作しない
116        (異なる結果が出力された結果、認証が通らない)可能性があります。
117
118        新旧双方の環境でmd5プラグインを使い、crypt()の結果を比較することで、あ
119        る程度事前に検証する事が可能でしょう。
120
121     3. 新しいパスワード保存方法の中に SHA-1 アルゴリズムを使用するものが三種類
122        あります('{x-php-sha1}', '{SHA}', '{SSHA}')が、このアルゴリズムは PHP
123        4.3.0 以降、あるいは 'mhash' エクステンションが組み込まれた環境でなけれ
124        ば利用できません。したがって該当する環境でなければ、これらのパスワード
125        保存方式を利用することはできません。
126
127     4. サーバーと閲覧者へのDoSを回避するためのリミッターとして、プラグインの呼
128        び出し回数をチェックする機構が追加されました。この結果、いずれかのプラ
129        グインが一定回数 (デフォルト:768回)を越えて呼び出された場合、即座にメッ
130        セージとリンクを表示した後、出力処理が終了します。
131
132        そのため、非常に長い文書の中に同一のプラグインを一定個数以上記載してい
133        る場合に、閲覧が行えなくなる可能性(編集は可能)をもたらします。そのよう
134        な場合、必要に応じて lib/plugin.php にある定数
135        PKWK_PLUGIN_CALL_TIME_LIMIT の値を拡大するか、(編集は可能であろうため)
136        該当ページのコンテンツを適宜複数のページに分割して下さい。
137
138        この場合のプラグインとは、ブロック型 「#プラグイン名」およびインライン
139        型「&プラグイン名;」の全てです。特に後者については「&」のようなHTML
140        エンティティも対象になります。(PukiWikiはHTMLエンティティもプラグイン
141        であると認識します)
142
143     5. (PukiWiki 1.4.5において) 特にOperaブラウザのために、脚注に対する「相対
144        リンク」が「絶対リンク」となるように変更が行われされましたが、ふたたび
145       「相対リンク」となるように修正されました。(詳しくは: BugTrack/698)
146
147        (1) calendar_viewerプラグインやincludeプラグインなど、他のページをイン
148          クルードするプラグインを使用したページの脚注(これらは相対リンクを想定
149          しています) に移動する代わりに、インクルード元のページの脚注に移動し
150          てしまう副作用が発生していたため
151
152        (2) 最新のOperaブラウザでは相対リンクによる影響は修正されているとの報告
153          を受けているため
154
155        定数 PKWK_ALLOW_RELATIVE_FOOTNOTE_ANCHOR(default.ini.php)の値を変更する
156        ことにより、1.4.5 当時の状態(絶対パス)にすることが可能です。
157
158     6. calendar_viewerプラグインが表示するページのタイトル(日付入りのページ名)
159        について、表示フォーマットを切り替えられる様になりました。また、デフォ
160        ルトが「文字列/YYYY-MM-DD」から「年/月/日 (曜日)」となりました。この
161        フォーマットはcalendar_viewerプラグインの先頭で指定する事ができ、元通り
162        に直すことも可能です。
163
164     7. 管理者に電子メールで通知を行う関数 pkwk_mail_notify() が作成されまし
165        た。この関数は自明な値をあらかじめ保持しますが、その副作用として、
166        $notify_header に従来通り From: を設定している場合に From: が重複し、結
167        果的にメールが送信されない可能性があります。
168
169        過去のバージョンから設定の値をコピーする場合、 $notify_header には
170        From: を含めないように修正して下さい。
171
172        PKWK_OPTIMISE が無効となっている時には、From: が重複しているかどうかな
173        どのチェックが行われ、あればエラーを表示します。
174
175     8. 画像のように見えるURIを「インライン画像としてリンク」しないための定数
176        PKWK_DISABLE_INLINE_IMAGE_FROM_URI を有効にすることにより、まさに該当の
177        機能を実現する「imgプラグイン」は機能が無効になります。(BugTrack2/69)
178
179        その結果、#img(,clear) という表記で「テキストの回り込み指定を解除」する
180        機能も無効になります。この機能は img プラグイン とセットで用いるために
181        用意されたものであるため、#img(,clear) を部分的に有効にした場合の影響は
182        予測できません。
183
184        #imgプラグインと無関係な部分であれば、#img(,clear)の代わりに、それ同じ
185        機能を有する #clearプラグイン を使用して下さい。
186
187
188 PukiWiki 1.4.5_1: PukiWiki 1.4.4との非互換点
189
190     1. デフォルトのスキン(enとja)が統合されています。
191        1.4.4用にリリースされているサードパーティ製スキンはほぼそのまま利用でき
192        ますが、ファイル名を含め、若干の調整を必要とするでしょう。
193
194     2. デフォルトのCSS(screen用とprint用)が統合されています。
195        ファイル名に変化がありますが、出力されるCSSの構造的な変化はありません。
196
197     3. :config/plugin/tracker/default の設定が見直されました。
198        特に英語版との兼ね合いにより「優先順位(priority)」が「重要度
199        (Severity)」に改められましたが、互換性を重視し、既に作成されたページに
200        影響が出る部分はそのまま残されています。
201
202     4. 1.4.5以降のスキン、および :config/plugin/tracker/default の内容は新しく
203        用意された機能あるいは変数を使用しているため、以前のPukiWikiでは利用で
204        きません。
205
206     5. ワームなどによる「非現実的な長さのクエリ文字列」をブロックする機能が盛
207       り込まれたため、今までに「極端にページ名が長いページ」に「極端にファイル
208       名が長いファイル」が添付されている場合、それを操作できなくなる可能性があ
209       ります。この場合、定数PKWK_QUERY_STRING_MAX を調節することで回避すること
210       が可能です。
211       また、用途がイントラネット向けであれば、PKWK_QUERY_STRING_MAX の値を 0
212       にすることにより、この機能を無効にすることができます。
213
214     6. 脚注に対するURLが、ページ内相対リンクのみ(#hogehoge)から絶対パス
215        (http://path/to/pkwk?ページ名#hogehoge)に変更されました。
216        これは Opera ブラウザの不具合に対するものですが、副作用として
217        calendar_viewer() のようなインクルード系のプラグインの中の脚注リンクを
218        クリックした場合、個別のページに画面遷移するようになっています。
219        (See BugTrack/698 for detail)
220
221
222 PukiWiki 1.4.4: PukiWiki 1.4.3との非互換点
223
224     1. includeプラグインにリミッターが設けられました(デフォルトで4ページまで)
225
226     2. calendar_viewerプラグインにリミッターが設けられました(一テーマ一回まで)
227        ※将来のリリースで、数回までに拡張される可能性があります
228
229     3. Apache Webサーバー向けに .htaccess ファイルが同梱される様になりました。
230        サーバー上で .htaccess が有効であるとき、例えばattach ディレクトリに保
231        存した添付ファイルに直接アクセスすることができなくなります。この結果、
232        古いバージョンのrefプラグインや、そこから派生したプラグインはうまく動
233        作しないでしょう
234        (これらの制限は、.htaccess を削除することで解除できます)
235
236     4. 初期化処理(init.php)が大幅に見直され、PukiWikiにとって不要なグローバル
237        変数(特に、危険なデータを含んでいるもの)が積極的に削除(unset)される様に
238        なりました。具体的には $_REQUEST, $HTTP_GET_VARS, $HTTP_POST_VARS,
239        HTTP_USER_AGENT 関係, REQUEST_URI 関係, QUERY_STRING 関係のデータにアク
240        セスしていたサードパーティ製プラグインやカスタマイズ部分は、適切に動作
241        しなくなるでしょう
242
243 PukiWiki 1.4.3: PukiWiki 1.4.2との非互換点
244
245     1.  trackbackディレクトリに保存されるファイル名の規則が変わりました
246         trackback/referer機能をお使いで、1.4.2から1.4.3へ移行される場合は、
247         PukiWikir-devサイト ( http://pukiwiki.osdn.jp/dev/ )の、
248         "開発日記/2004-03-18" を参照して作業を行ってください。
249
250 PukiWiki 1.4: PukiWiki 1.3.xとの非互換点
251
252     1.  [[WikiName]] と WikiName は同じページを指します
253     2.  定義リストの書式が違います (:term:description -> :term|description)
254     3.  リストや引用文は、下位レベルのリストや引用文を包めることができます
255         (1.3.xでは、リストは同種のみ、引用内には引用しか包含できませんでした)
256
257
258 更新履歴
259 ========
260
261 ※詳細は公式Webサイトを参照して下さい
262
263 http://pukiwiki.osdn.jp/?PukiWiki/Download