web-dev-qa-db-ja.com

ログイン時のパスワードリセットページでアクセスが拒否されました

なんらかの理由でユーザーがパスワードをリセットできないD7サイトを実行していますが、サーバー上でのみ実行しています。ワンタイムログインリンクが記載された電子メールは問題なく送信されますが、ユーザーがリンクをクリックすると、403ページに「このページへのアクセスは許可されていません」という一般的なメッセージが表示されます。これはサーバー環境固有である必要があることを知っています。ローカルマシン上のサイトのクローン(SMTPモジュールを使用して電子メールを送信)を使用すると、問題なく動作するからです。 $ account-> uidの値を$ GLOBALS ['user']-> uidと比較しているuser_edit_access()で問題が発生すると思いますが、これは現時点での推測です。

問題が何であるかについての提案はありますか?サーバーはワニスを使用しているので、それが頭に浮かんだ考えの1つですが、それを理解する方法がわかりません。

ありがとう。

1
wonder95

コメント/* $cookie_domain = $_SERVER['HTTP_Host']; */パス\ sites\defaultsのsettings.phpが機能します。

または、settings.phpで以下のコードを使用します。

<?php
/**
 * Drupal automatically generates a unique session cookie name for each site
 * based on its full domain name. If you have multiple domains pointing at the
 * same Drupal site, you can either redirect them all to a single domain (see
 * comment in .htaccess), or uncomment the line below and specify their shared
 * base domain. Doing so assures that users remain logged in as they cross
 * between your various domains. Make sure to always start the $cookie_domain
 * with a leading dot, as per RFC 2109.
 */
$cookie_domain = '.your_domain.com';
$conf['https'] = TRUE;
?>

匿名ユーザーがいるサイトでは、1つのタブで「www」を使用せずに1つのタブで管理者としてログインし、別のタブで匿名としてログインするように設定しないと便利です。

ソース

1
rfegade