We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6158
    • 224 Posts
    深夜にこんばんは。

    Quote from: Yato at Jul 28, 2007, 02:42 PM

    FireFoxでログインできる様になりました!
    クッキーとブラウザが保持しているパスワードを削除したらあっさりと

    それはあり得ることですね。何故なら、入力パスワードは下記の通り
    $_REQUEST の値が使われているからです。でも、おかしいですね、普通手入力
    した値が渡ると思うのですが。


    $givenPassword = $modx->db->escape ($_REQUEST[’password’]);

    以前の経験から言えば、パスワード入力時に ie の「オートコンプリート」を
    使っていると、伏せられているので分からないのですが、間違った値が自動入
    力され、ログインできないことがありました。

    そういう時は、手入力し直すと入れます。または、オートコンプリートの記録
    を消去する。


    Quote from: Yato at Jul 28, 2007, 02:42 PM

    復号は出来ないと思いますが、それでも書かない方が、多分いいですよね。>ハッシュ

    いや、技術を持った方がその気になるとできるそうです。最近ニュースに流れ
    ていました。私にはその技術はないので現状不可能ですが。




    かなり解せませんが、強引な方法を採りましょう。

    manager のログインフォームが書かれてる html (php) ファイルにパスワード
    を直接書き込んでみましょう。その時の (正)(誤) がどうなるか?

    これで違うようだったらソースがいじられているとしか考えられないのですけ
    どね。
      • 6158
      • 224 Posts
      ちなみに、


      manager/processors/login.processor.php:178

      if (!$rt || (is_array($rt) && !in_array (TRUE,$rt))) {
      // check user password - local authentication
      if ($dbasePassword != md5 ($givenPassword)) {
      jsAlert($e->errors[901]."(誤)".$givenPassword);
      $newloginerror = 1;
      }
      }

      と md5() を消してやれば、どんなパスワードが実際に渡っているのか見れます。
        • 33078
        • 10 Posts
        こんばんわ。もうそろそろおはようございますになりそうです。
        眠くはありませんがお腹が空いてきました。

        先ほどまで色々な動作を試みていたのですが、(遷移しないグレイアウトしたフォームの画面で)数回リロードを繰り返していたら……IEでログインできるようになりました。
        何度ログアウト-ログインしても自動的に画面は切り替わらないですが、取り敢えずパスワードは通っている様です。

        普通は手入力した値が通る……という件ですが。
        実は、先のレスを書くにあたって自分で確かめている最中にも、(キャッシュやクッキーなど色々消す前に)明らかに間違っていてしかも長いパスワードを打ち込んでハッシュを見てみたのです。アラートが出てくれるのはFFだけでしたので、IEでは確かめられませんでしたが。
        先ほどまで「同一だ」と云っていた文字列が、やっぱり出てきていました。その時には。

        現在は違う文字列になっています。最早症状を再現しません。

        これが正常な働きだと思いますが……… :’(。
        なんだか、何もかもが普通に動き始めました。
        現在のところ、IE7でログイン後画面が自動で遷移しない以外の問題は解決したみたいです。
        ばたばたしていて申し訳ないです。
          • 6158
          • 224 Posts
          Quote from: Yato at Jul 28, 2007, 02:42 PM

          新規に作って確認したもの【B】

          manager にログインできないのに何故新しい User が作れているのですか?
            • 6158
            • 224 Posts
            Quote from: Yato at Jul 28, 2007, 07:18 PM

            遷移しないグレイアウト

            んんん、これに近い経験を私もしたような記憶がぼんやりありますが、何が原
            因だったのか覚えていません。バッファ絡みだったような気もします。

            サーバーの環境情報を見てみたいですね。phpinfo() の "Configuration PHP Core"
            の部分だけで十分。


            この手のことはデバッガを使って追いかけてみると案外簡単なことなんですが、
            そんなものお持ちじゃないですよね。

            サーバーに載せる前にローカルで試してみましたか?
              • 6158
              • 224 Posts
              Quote from: Yato at Jul 28, 2007, 07:18 PM

              IE7でログイン後画面が自動で遷移しない

              ie6 ならばどうでしょう?

              ie6 をお持ちじゃなかったら、不都合なければ、私がそのサーバーにアクセス
              して現象を確認してもいいですよ。但し、一時的にパスワードを教えてもらう
              ことになりますが。
                • 6158
                • 224 Posts
                Quote from: custar at Jul 28, 2007, 04:57 PM

                manager のログインフォームが書かれてる html (php) ファイルにパスワード
                を直接書き込んでみましょう。その時の (正)(誤) がどうなるか?

                この結果はどうだったのでしょう?

                もっと直接的なことを言えば、


                manager/processors/login.processor.php:178

                if (!$rt || (is_array($rt) && !in_array (TRUE,$rt))) {
                // check user password - local authentication
                if ($dbasePassword != md5 (your_password)) {
                jsAlert($e->errors[901]);
                $newloginerror = 1;
                }
                }

                と直接書き込むことも可能です。これだったら間違いなく認証されるので、そ
                れ以降の動作検証が可能となるでしょう。

                パスワードの比較がうまくいってそうだと言うことなので、
                manager/processors/login.processor.php 271 行目以降の
                header() が怪しいですね。
                  • 33078
                  • 10 Posts
                  こんばんは。

                  >manager にログインできないのに何故新しい User が作れているのですか?

                  manager からログインは出来ないのですが、「パスワードを忘れました」という扱いで、一時的に管理画面にはアクセスできていた為です。
                  1日経てば無効になるので、毎日メールでアクセス用のURLを取得していました。
                  今はこのような操作をする必要はなくなりました。

                  >サーバーの環境情報を見てみたいですね。phpinfo() の "Configuration PHP Core"の部分だけで十分。

                  <?php phpinfo(); ?>という内容のPHPファイルを作って、ブラウザから表示させればよいですね。
                  該当部分はテーブル1つでかなり分量がありますけれど、これをごっそり公開してよいものでしょうか。
                  ローカル環境では試しておりません。
                  デバッガは無いです…名前から働きの想像はつきますが、触ったことがないです。

                  >この結果はどうだったのでしょう?

                  今回書いていただいた通りにmanager/processors/login.processor.phpを変更してログインの動作をしてみましたが、やはり遷移はしません。
                  ユーザ名のみを記入して(パスワード空欄で)ログインしても、手動でリロードすれば管理画面は表示されます(IE7)。

                  因みにうっかりパスワード部分(赤字)を書換えずにそのままコピペした時には、パスワード欄に正しい文字列を記入しても認証できていませんでした。
                  そりゃそうですね(汗)。

                  >ie6 ならばどうでしょう?

                  IEはバージョン違いが同居しないんですよね。
                  ええと、今から一度7をアンインストールしてみます。6を入れなおす必要はない筈なので。少々お待ち下さい。
                    • 6158
                    • 224 Posts
                    こんばんは。

                    こうしていろいろ聞いていると、ずばり「分からん!」というのが感想です。
                    どうにも伝聞となり、ポイントが見えません。手間掛けさせて御免なさいね。

                    Quote from: Yato at Jul 29, 2007, 02:28 PM

                    >サーバーの環境情報を見てみたいですね。phpinfo() の "Configuration PHP Core"の部分だけで十分。

                    <?php phpinfo(); ?>という内容のPHPファイルを作って、ブラウザから表示させればよいですね。

                    見ても決定的な情報はないので今は要りません。


                    遷移しない、つまり以下の header() が効いてない、もしくはその前の段階で
                    止まっている。サーバー絡みな感じも少し。


                    $header = ’Location: ’.$modx->config[’site_url’].’manager/’;

                    関係ないと思いますが、manager ログイン後、サイトのキャッシュを消してみ
                    たらどうなるでしょう。
                      • 33078
                      • 10 Posts
                      こんばんは。
                      いえ、私がポイントを理解して的確にお伝え出来ればいいんですが…それが出来たら自分で対処できるような気もします^^;。

                      IEを6に戻してログインテストを行いました。
                      結果は、7の時と同様で、遷移しませんでした。手動でリロードすれば管理画面には入れます。
                      ログインした状態で一旦ブラウザを閉じ、キャッシュとクッキーを削除してから再度ページを表示してみました。普通に管理画面が表示されます。