commentなどの主要プラグインが編集認証に対応していない†
- ページ: BugTrack2
- 投稿者: mendel
- 優先順位: 緊急
- 状態: 着手
- カテゴリー: 本体バグ
- 投稿日: 2006-10-03 (火) 04:35:28
- バージョン: 1.4.7
メッセージ†
他にもarticleなど。
スパム対策のために全ページに編集認証をかけてもすり抜けてしまいます。プラグインがPKWK_READONLYをチェックしている後ぐらいに次の2行を追加することで対応できます。
$page = isset($vars['refer']) ? $vars['refer'] : '';
check_editable($page, true, true);
修正はこんなに簡単なのに未対応ということは、何か意図があってのことでしょうか?。
- こんにちは :) コメントありがとうございます。単なる労力不足と、まとめが足りないのと、編集認証/閲覧認証の設計自体もう少し練り直した方が良いのではないか、という観点のミックスだと思います。 -- henoheno
- 既存の関連トラック(他にもあります)も参考にしていただいて、例えばこのページに具体的なターゲットが(少しづつでも)
まとまるならばあり難いのですが。編集認証関連の話題の相互リンク(や話題の整理)も足りない予感が。まとめましょう -- henoheno
- 凍結時には同様にcommentやarticleが使えるのですが、それと合わせたのかと思っていました。この間ちらほら認証関連で問題が挙がっている事ですし、改めて整理するのには私も賛成です。 -- にぶんのに
現行のBasic認証機構関連のまとめ†
コメント†
- 現状の機能は単独のページについて、複数のルールに基づいて結構細かくチェックすることを前提に作られており、ページの一覧から条件に合わないものだけ除外するようなニーズについては、キャッシュの動作も鑑みると、そううまくは実現しないように思っています(例えばyetlist)。閲覧ないし編集制限をするためのルールを単一のルールで揃えるか、通信を完全にSSLでくるむか、認証下にあるページの出力は全てキャッシュさせないようにHTTPヘッダを操作するのであれば多分おおよそ無問題。でなければ、特定の権限のある誰かが閲覧したデータがproxyサーバーなどにキャッシュとして残り、その権限のない別の誰かに見えてしまうかもしれません -- henoheno
- 全てのプラグインに実装を終えたり、試みてすらいない現状は、こんな事気にする段階じゃないですけどね (^^; -- henoheno
- 追加報告です。*1
unfreeze プラグインで、凍結解除後すぐに編集画面を出すように、PLUGIN_UNFREEZE_EDIT を設定している時、
check_editable($page, true, true);
をはさんでいないので、すり抜けてしまいます。
見つけた理由が、RecentDeleted を凍結解除するという処理だったり。 --
- 上に修正と補足。freeze プラグインと、unfreeze プラグインで凍結あるいは凍結解除した後、画面表示前に編集認証/閲覧認証のチェックをしてしていないので、中身を見れたりします。管理者だけが対象なので問題にはならないのかもしれませんが。 --
- 「上にプラグイン実装」という項目がありますが、PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限#nb9236e1どちらかにまとめた方がよいのでは? -- ぃぉぃぉ
- PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限 が本体統合前用(上に、過去の話題とあるから)で、このページが本体統合後用だと思ってたんですけど。まとめてしまいますか? --
- BugTrack2/255 --
- :config/領域のページでコメントが動作する --
パッチ
plugin / comment.inc.php : function plugin_comment_action()
if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
+if (preg_match('/^:config\/i',$vars['refer'])) die_message('You can not post a comment in this page.');
- ↑はBasic認証とはまったく関係ないうえに、PKWK_CONFIG_PREFIX を変更したらパッチが無力化するような・・・ --