freoの公開制限に関する質問とか
公開制限に関する質問を何度かいただいたので、以下に記載しておきます。単に「freoの不具合だった」というものもあったり。
複数の投稿ユーザーを登録している際にコメントの編集がどの投稿ユーザーでも出来る状態になっています。(例:投稿者A、投稿者Bがいるとして、Aが書いたコメントをBが編集出来る状態)
現状では「投稿者」の制限を持っていれば他人のコメントを改竄できるので、こちらも問題だと思うのですが
freoの権限は3種類ありますが、
- 管理者
- すべての操作ができる。基本的にはfreoを設置したサイト管理者が該当する。
- 投稿者
- 設定の変更など一部の操作は行えない。交換日記などで、管理者を複数設定したい場合に使用する。
- ゲスト
- 管理者専用ページには入室できない。自分の投稿したコメントは編集&削除できる。
としています。つまり、投稿者は管理者に近い権限を持っているのです。なので、投稿者がすべてのコメントを編集できるのは仕様です。ただ、
閲覧権限がないはずのコメントでも、編集は出来る状態になっている
こちらは不具合だったので修正しておきました。(投稿者が閲覧できないコメントが存在する状態でした。)
…と、ここまで書いてからようやく気付いたのですが、「投稿者」は他の「投稿者」や「管理者」が投稿したエントリーを編集&削除できないのでした。にも関わらず、コメントは「管理者」のものでも編集&削除できるのは変な仕様ですね…。
そのうち、「投稿者」は他の「投稿者」と「管理者」のコメントを編集&削除できないように修正しておきます。
エントリーのコメントなのですが「投稿者のみ」に見れるようには出来ないのでしょうか?「登録ユーザー」だとユーザー登録した人間全員が見れてしまうので、投稿者のみという事は難しいのでしょうか?
「管理者に公開」を選択すれば「管理者」と「投稿者」のみに公開されるので、ログインユーザー全員に見られることはありません。あったら不具合です…。
多くの掲示板の機能にあるようにコメントに個別にパスワードを持たせて削除・変更が出来るようには出来ないのでしょうか?
非ログインユーザーは名前やメールアドレスをCookieに記憶させることができます。ですが、一般的な掲示板のように「削除キーを入力しておけば記事を削除できる。削除キーはCookieに記憶する。」という仕様は危険なのです。
不正アクセス対策をきっちり行えば大丈夫ではありますが、綱渡りのような仕様なので、最近作成されたCMSなどは「削除キーをCookieに記憶」は(多分)実装されていないと思います。
「削除キーを入力しておけば記事を削除できる。削除キーはCookieに記憶しない。」は可能ですが「削除キーもCookieに記憶したい」という要望が来ると思うので、現在のように「ゲストユーザーとしてログインした状態でコメントを投稿すれば、後で編集や削除ができる」という仕様にしています。
そんなわけですが、読み返していると「投稿者という名前はヤヤコシイかなぁ…」とか「この権限の仕組み自体がヤヤコシイかなぁ…」とか色々思ったり。「こんな仕組みが良さそう」とかあれば、教えていただけると嬉しいです。