閲覧できないページが編集できてしまう

メッセージ

閲覧認証が有効なページで「編集認証なし($edit_auth=0)」にしている場合、閲覧認証エラー 「~は閲覧できません」が表示されているときに編集ができてしまいます。 例えば、編集認証の指定が無い場合、閲覧が許可されたページのみを 編集可能とするような対策をしたほうが良いかと思います。 ご検討をお願いいたします。

auth.php
[40行目付近]
// 編集認証
function edit_auth($page,$auth_flag=TRUE,$exit_flag=TRUE)
{
	global $edit_auth,$edit_auth_pages,$_title_cannotedit;
+	global $read_auth,$read_auth_pages;
	
	// 編集認証フラグをチェック
-	return $edit_auth ?
-		basic_auth($page,$auth_flag,$exit_flag,$edit_auth_pages,$_title_cannotedit) : TRUE;
+	if($edit_auth)
+	{
+		$retval = basic_auth($page,$auth_flag,$exit_flag,$edit_auth_pages,$_title_cannotedit);
+	}
+	else if($read_auth)
+	{
+		$retval = basic_auth($page,$auth_flag,$exit_flag,$read_auth_pages,$_title_cannotedit);
+	}
+	else
+	{
+		$retval = TRUE;
+	}
+	return $retval;
}

対応

まず、閲覧制限(認証)をつけて編集制限をつけないというのは基本的に設定ミスです。 管理者が正しく設定を行う必要があり、PukiWikiコードでは設定ミスをカバーする動作をしません。

標準に「編集」操作はread権限及びedit権限両方を必要とするようになりました。

(標準プラグイン、外部プラグインに限らず)プラグインによっては、read権限がないページにedit権限がある場合に、予期しない動作になる可能性があります。




トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-10-24 (火) 02:56:26
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.201 sec.

SourceForge