We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36592
    • 970 Posts
    Quote from: sama55 at Jan 16, 2009, 11:28 PM

    あと、JIRAには以前Dittoの障害を試しに上げてみたのですが、私の上げ方がまずかったのかもしれませんが、受け付けられてる様子もなくて、
    こりゃもっと実績積んでからJIRAにアクセスせんと取り合ってもらえんかな~なんて感じました。
    多分そういう問題じゃなくて、開発側の手が足りないだけじゃないかなぁ~? undecided

    一応、優先度順に見てくれてるとは思いますが、「Major」なものでも手付かずのものがたくさんありますし。
    開発者自身が書き込んだものですら、長い間手付かずな状態なものもありますし。

    英語圏のフォーラムも覗いてますが、バグ報告があると「JIRAにチケット上げておいて!」が開発者の決め台詞になってますよ~
      • 26012
      • 324 Posts
      tkfmさんはじめまして(かな?)  ※この場を借りてご挨拶をば

      いろんな方が呼応してくれるようになって、何だか嬉しいです。

      Quote from: tkfm at Jan 17, 2009, 12:44 AM

      Quote from: sama55 at Jan 16, 2009, 11:28 PM

      あと、JIRAには以前Dittoの障害を試しに上げてみたのですが、私の上げ方がまずかったのかもしれませんが、受け付けられてる様子もなくて、
      こりゃもっと実績積んでからJIRAにアクセスせんと取り合ってもらえんかな~なんて感じました。
      多分そういう問題じゃなくて、開発側の手が足りないだけじゃないかなぁ~? undecided
      う~~ん、そうかもしれませんね。なんせこっちは1対1でもあっちは1対世界ですからね。
      Quote from: tkfm at Jan 17, 2009, 12:44 AM

      一応、優先度順に見てくれてるとは思いますが、「Major」なものでも手付かずのものがたくさんありますし。
      開発者自身が書き込んだものですら、長い間手付かずな状態なものもありますし。
      英語圏のフォーラムも覗いてますが、バグ報告があると「JIRAにチケット上げておいて!」が開発者の決め台詞になってますよ~
      私も開発者のはしくれとして、そういった事情は多少は分かるつもりです。
      上げられた障害をFIXするには、問題の優先度付けからはじまって、原因分析、仕様再考、コーディング、
      テストなど、長い時間と労力が掛かることもやむを得ないことだと思います。ただ、問題だな~と思えるのは、
      上げられた障害を受け付けたかどうかぐらいは分かるようにしておかないと、折角の協力者をどんどん
      逃がすことになりはしないかと、余計なことを考えたりするわけです。
      「今こうなんだから仕方ないよ」では何も変わりませんよね(これも余計かもしれません)。

      ちなみに、別のスレでMEGUさんが以下のようなことを発言されてますが、JIRAに対しても同じことが言えるのでは
      ないかと私は考えてます。誰が中間的な存在としての役回りを担うか、って件は人それぞれで様々な解釈があると思いますが・・・
      http://modxcms.com/forums/index.php/topic,31210.msg195007.html#msg195007

      今後とも色々お世話になるかと思います。その節はどうぞよろしくお願いします。
        • 28073
        • 164 Posts
        みなさんこんばんわ。
        僕のほうで調べた結果を報告します。
        (ちょっと技術よりなので話が難しいかもです :’()

        まず現象の発生方法です。
        MODxでCAPTCHAの使用をONにするとmanagerの管理画面にCAPTCHAが表示されるようになります。
        この画面にアクセスした時点でCAPTCHA情報がSESSION変数の$_SESSION[’veriword’]に保存されます。
        基本的にSESSION変数はページを移動しても消える事はありません(ユーザ側、もしくはサーバ側が意図的に削除しない限り)。

        次にWebLogin画面に移動します。
        ユーザ名、パスワードを入力するとサーバ側で認証が開始されるのですが、SESSION変数$_SESSION[’veriword’]にCAPTCHA情報が入っているためCAPTCHAを使った認証が行われます。
        しかし、WebLoginではユーザ名とパスワードしか入力していないのでこの認証が必ず失敗します。
        そして失敗したと同時にサーバ側でSESSION変数の初期化が行われます。
        すなわち$_SESSION[’veriword’]も削除されます。
        そのため、2回目のログインではCAPTCHA認証が行われなくなり、結果としてログインが成功します。

        以上が僕の確認した内容です。
        解決方法は3つあります。

        1.WebLoginスニペットのCAPTCHA機能をはずす
        sama55さんの提示した解決方法です。

        2.WebLoginもCAPTCHAを利用する。
        CAPTCHA機能があるならWebLoginにも使う方法です。
        MODxのセットアップ時にインストールできるサンプルサイトを例にして説明します。
        チャンクFormLoginに以下のような行を追加します。

                    <label for="captcha_code">CAPTCHA : <input type="text" name="captcha_code" class="captcha_code" tabindex="3" size="20" /></label>
                    <a href="[+action+]"><img align="top" src="manager/includes/veriword.php" width="148" height="60" alt="CAPTCHA" style="border: 1px solid #039" /></a>
        


        ※追加する場所は<label for="password">〜</label>の下あたりでいいと思います。
        ※tabindexは適当に調整してください。

        これでWebLoginでもCAPTCHA入力が出来るようになります。


        3.WebLoginスニペットでCAPTCHA使用の有無をオプションで制御できるようにする。
        MODxでCAPTCHAをONにするとWebloginにも影響が出てしまうので、WebLogin側でもCAPTCHAの使用をOn/OFF出来るようにオプションを追加します。
        (確かJotでもやってるはずです)
        変更方法はMODx0963で説明します。ちょっと適当ですが。。。

        スニペットWebLoginの変更。

        $tpl		= isset($tpl)? $tpl:"";
        $useCaptcha	= isset($useCaptcha)? $useCaptcha:0; //←追加行
        


        /assets/snippets/weblogin/weblogin.processor.inc.phpの変更

             //if(isset($modx->config['use_captcha']) && $modx->config['use_captcha']==1) { //←コメントアウト
             //if( !empty($useCaptcha) && isset($modx->config['use_captcha']) && $modx->config['use_captcha']==1) { //←追加
        


        これでWebLoginでCAPTCHAの使用はOFFになります。
        逆にCAPTCHAを利用したい場合はWebLoginスニペットに&useCaptcha=`1`を追加します。


        本家への報告ですが、案3での報告がいいですかね?
        ちなみに僕も英語が苦手なため、ちょっと時間ください :’(

        明らかなバグ報告なら英語が通じなくてもphpソースで示せるのですが(笑)、こういう例だと英語できちんと説明しないとわかってもらえないですよね。。。

          • 6350
          • 421 Posts
          soushi さん、はじめまして。ちょっと横槍ですみません。

          ログイン画面で CAPTCHA を表示しただけで WebLogin がエラーになっていたとは今まで気が付きませんでした。

          提案されている案3のコードなんですが

          if !empty($useCaptcha) {

          だけではだめなんでしょうか? WebLogin をするときに管理画面で CAPTCHA の使用が ON になっているかどうかを判断すること自体が無意味なことだと思うのですが。意味もなくチェックをしているとは思えませんが。たぶん、WebLogin スニペットを作った人は管理画面で CAPTCHA が ON に設定されていれば FormLogin にも CAPTCHA が使われているはずだという前提でこのような判定をいれていると推測します。

          それに、その提案されているコードでは少しおかしなことになりそうです。
          if( !empty($useCaptcha) && isset($modx->config[’use_captcha’]) && $modx->config[’use_captcha’]==1) {

          $useCaptcha==1 かつ 管理画面で CAPTCHA の使用が ON の場合しか実行されないのではないかと・・・?要するに WebLogin で CAPTCHA は使いたいけど 管理画面では CAPTCHA の使用が OFF の時にはこのコードは実行されなくなります。

          $_SESSION[’veriword’] と $captcha_code は使い回しなんですね。一画面で2つの CAPTCHAは使えないということですね。(コメント入力時の jot の CAPTCHA の表示と WebLogin に CAPTCHA の表示)

          $newloginerror も使い回しされているようで管理画面がログアウトされるのも納得、sama55 さんはナゼ・・・ログアウトしない???もちろん再表示しないとログインしたままのようには見えますが。。。
            • 28073
            • 164 Posts
            dainitiさん、こんにちわ。

            dainitiさんの書かれたコードの方がすっきりしていいですね smiley
            さらにもう少し考えてみました。
            「CAPTCHA設定したのに動かないのはなぜ??」という人も出てきそうなので、もう少し細かく判定したほうがよさそうです。
            webloginのCAPTCHAを有効にしてMODx設定のCAPTCHAが無効だったら警告メッセージを出すようにした方が親切かもですね。

            実証コードは後日書いてみます(ちょっと今は時間がないので…)。
              • 26012
              • 324 Posts
              soushiさん、dainitiさん、そして皆さんありがとうございます。
              皆さんのおかげで長年のぐちゃぐちゃがスッキリしそうです(取り急ぎ御礼まで)。
                • 6350
                • 421 Posts
                どうしても元の判定方法を残そうとする必然性が理解できません。原作者の意思を尊重することは大事なことだと思いますが必要なコードだと決め付けて対応するよりも先に本人の意思、バグの可能性を確認することの方が先決ではないでしょうか。

                また現時点では modx の標準機能ともいえるスニペットなので作者の意思よりも modx の方針、バグだと思っているユーザーが多ければそれに対応していく時期だと思っています。

                またこれだけを残した場合 Jot はどうなんだというアンバランスな状態になってしまいます。したがって manager での CAPTCHA の設定に左右されるコード自体に疑問を感じております。

                僕自身、作者の方と議論する能力もなく This is a pen. 程度しか話せないので今回も含めて soushi さん達に頼っていかなければいけないわけですが。
                Quote from: soushi at Jan 18, 2009, 10:49 PM

                「CAPTCHA設定したのに動かないのはなぜ??」という人も出てきそうなので、もう少し細かく判定したほうがよさそうです。
                webloginのCAPTCHAを有効にしてMODx設定のCAPTCHAが無効だったら警告メッセージを出すようにした方が親切かもですね。
                  • 6350
                  • 421 Posts
                  追伸

                  自分なりにある結論に達しました。「manager で CAPTCHA が設定されていれば webuser も CAPTCHA を使ってログインするべきだ」という前提で判定が入れられている。ただ考えが足りなかったのは WebLogin には CAPTCHA を表示する機能が内蔵されていないため結果的に不具合として見られている。

                  ログインだけに限って言えば Jot まで巻き込む必要はないわけですがフレームワークとして考えれば余計なお世話としか考えられません。管理者に限っては、IPアドレスによる制限とか V2.0 以降で別のサブドメインで管理できるようになればいろんな制限が掛けられるわけですから。
                    • 6350
                    • 421 Posts
                    追伸の追伸

                    そういえば V2.0 以降では webuser がなくなるというのをこのフォーラム内のいつかの会話で見たような気がするのですが、そうなれば今から manager での設定に左右されるのもしょうがないのかなとも思います。そういうわけですから今回はsoushi さんの判断にお任せしたいと思います。
                      • 26012
                      • 324 Posts
                      Quote from: dainiti at Jan 19, 2009, 11:46 AM

                      そういえば V2.0 以降では webuser がなくなるという・・・
                      あ、すいません。言葉足らずでした。

                      webuserがなくなるといのは、管理画面で管理ユーザとウェブユーザという大きな括り(大項目として)に分けて
                      管理する方法ではなくなりそうだ、ということです。Revolutionをあらためて見た感じでは、「ユーザ管理」という
                      より大きな括りで一本化され、「コンテキストアクセス属性」や「リソースアクセス属性」(いずれも名前は適当です)
                      といったユーザにひもづく設定で分類することになりそうです。つまり、これまでどおりウェブユーザ(会員)的な
                      ユーザそのものがなくなることはないはずです。

                      以上のことから、特にバージョンの違いや進化は気にせずにWebLoginのあるべき仕様を模索してもらって
                      構わないと思います。 (うまく説明できてるか心配です。理解できたでしょうか・・・)