0

カテゴリ リストというパブリック メニュー項目があるため、カテゴリの記事のリストが表示されます。カテゴリは公開されていますが、一部の記事は登録ユーザー専用です。登録ユーザーがこの記事にアクセスすると、次のようなアドレスに行き着きます: http://www.example.com/menu-item-title/19-article-alias.

問題は、登録ユーザーが記事へのリンクをコピーし、未登録のユーザーがコンテンツにアクセスできるため、未登録のユーザーにそれを渡す場合です。リンクがhttp://www.example.com/19-article-alias正常な場合、「不正アクセス」メッセージが表示されますが、リンク形式を変更することは容認できる解決策ではありませんhttp://www.example.com/menu-item-title/19-article-alias

PS。私はJoomla 1.6を実行しています

4

1 に答える 1

0

目の前に Joomla 1.6 がなく、ほとんどすべての joomla が複雑すぎるため、少し曖昧にする必要があるように感じます。基本的に、リンクhttp://www.example.com/menu-item-title/19-article-aliasが起動されたときにどのコントローラーが起動されるかを決定し、のコンテンツを出力するときにコントローラーに条件を追加する必要がありif($user->get('id'))ます。

1.5では、これがありました:

    if ($user->get('id') ||
        ($view == 'category' && JRequest::getVar('layout') != 'blog' && $viewcache == 0) ||
         $view == 'archive' && $viewcache == 0) {
        parent::display(false);
    } else {
        parent::display(true);
    }

あなたの場合、もう少し調整が必要かもしれません。記事を表示できる条件とできない条件は、より複雑になる可能性があります。

于 2011-09-01T18:52:41.303 に答える