We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28073
    • 164 Posts
    こんばんわ smiley

    僕の修正はどうやったら簡単な修正でこの問題を回避できるかという点で行いました。
    そのため、webloginでCAPTCHAを使いたい人はそのまま利用する、利用しない人は利用しない事も出来る、また間違った設定をした人には警告を表示するような修正を考えました。
    検証コードは結局作ってませんが、ほんの少しの修正で実現できます。

    dainitiさんの言われるようにMODx本体のCAPTCHA設定に引っ張られる仕様はわかりずらいのでwebloginで別途CAPTCHAを実装すればいいというのは、確かに利用者もわかりやすくなりますが、修正点が多くなるので少し考えさせてください。

    …ということで、問題を先延ばしにしようと思ったのですが、新たに事実に気づきました smiley
    逆転の発想で、MODx本体のほうのCAPTCHA設定をもっと汎用的に使えないものかと色々試した結果。

    MODx設定の「CAPTCHAコードの使用」のon/offに関わらず、MODx本体のCAPTCHAは利用できます(--;

    「CAPTCHAコードの使用」はあくまでMODx管理画面のログインでCAPTCHA利用するか、しないかの設定を行うだけみたいです。
    この設定に関係なくCAPTCHAは利用できました(0.9.6.3で確認)
    すなわちdainitiさんの書かれた

      if ( !empty($useCaptcha) {
    


    でOKですね laugh
    JIRAへの投稿は時間ください :’(

    p.s.
    モデレータの人はみんな英語できると思われがち(?)ですが、僕も英語はからっきしです。
    辞書と翻訳サイトを武器に4時間くらいかけて英語で文章考えて、フォーラムに投稿やメールやって完全にスルーされるなんて事もありましたorz
    あと、返信が一行って事もありました(笑)
    というわけで(今は行ってませんが)英会話行ったり、DSの英語のソフトで色々と英語勉強中です。。。
      • 6350
      • 421 Posts
      Quote from: soushi at Jan 20, 2009, 09:43 AM

      「CAPTCHAコードの使用」はあくまでMODx管理画面のログインでCAPTCHA利用するか、しないかの設定を行うだけみたいです。
      この設定に関係なくCAPTCHAは利用できました(0.9.6.3で確認)
      な~るほど、soushi さんの考えがようやく理解できました。たしかにいろんな事で思い込みってありますよね。原作者の方もそう思って今の判定が入ってるんでしょうか。思い込みがあるといつまでたっても話が平行線になるわけですね。

      Quote from: soushi at Jan 20, 2009, 09:43 AM

      モデレータの人はみんな英語できると思われがち(?)ですが、僕も英語はからっきしです。
      辞書と翻訳サイトを武器に4時間くらいかけて英語で文章考えて、フォーラムに投稿やメールやって完全にスルーされるなんて事もありましたorz
      あと、返信が一行って事もありました(笑)
      というわけで(今は行ってませんが)英会話行ったり、DSの英語のソフトで色々と英語勉強中です。。。
      トビ主の sama55 さんは英語いけそうなんでこの方向で作ってもらって soushi さんに送ってもらうってのもありかと思いますが。

      Quote from: sama55 at Jan 19, 2009, 12:38 PM

      webuserがなくなるといのは、管理画面で管理ユーザとウェブユーザという大きな括り(大項目として)に分けて
      管理する方法ではなくなりそうだ、ということです。
      Joomla のように最初から何段階か設定されていればわかりやすいんですけどね。admin でも web からログインできるし。
        • 33014 ☆ A M B ☆
        • 1,231 Posts
        Joomlaのほうは逆に次の1.6から、プリセットで用意されているロールをMODxのようににカスタムできるようになるみたい。
        MODxはフロントとバックヤードでロール体系を分けてたのが混乱のもとになってたみたいで、これがrevoで統合されるのですよね。(ってことなら賛成!)
          • 6350
          • 421 Posts
          Quote from: yama at Jan 20, 2009, 07:46 PM

          Joomlaのほうは逆に次の1.6から、プリセットで用意されているロールをMODxのようににカスタムできるようになるみたい。
          さすがに情報が速いですね。で・・ soushi さんが考えている英語の文章なんですが今回のような場合は日本語で対応方法の原文をここにアップしてもらいそれを見た英語の得意なメンバーが翻訳をまたアップしてといった流れで最終的に soushi さんに JIRA へ送ってもらう。返事がきたらそれもここにアップして誰かに翻訳してもらう・・をループすれば今どうなっているのかわかりやすくていいのではないかと思いますが soushi さん、どうでしょうか。押し付けはできないのですがこういった方法も考えていけば個人的に負担がかるくなるのではないかと思います。
            • 26012
            • 324 Posts
            お三方、議論ありがとうございます。

            少し頭が混乱しているので整理させてください。おかしな認識があったら正してください。

            ----------------------------------------------
            1.CAPTCHAコード=ONの場合WebLoginがこける件

             1.1 原因と仕様の分析結果

              ・WebLoginでは、CAPTCHAコードがONの場合は、ログインフォームに画像認証が表示されてることが大前提。
              ・インストール状態のウェブログインフォーム(FormLogin)には画像認証がないため、CAPTCHA設定と
               ログインフォームの表示内容にずれが生じてエラーになっている。
              ・CAPTCHAコードのON/OFF設定は、基本的には管理画面ログインに画像認証を表示するかどうかの設定である。
              ・CAPTCHA機能そのものは、CAPTCHAコードのON/OFF設定に関わらず使うことができる。

             1.2 対処方針

              WebLoginでは、CAPTCHAコードの設定に連動して動作し、ONの場合はログインフォームに画像認証が表示
              されていることを前提に、従来どおりの認証チェックを行う。

             1.3 対処案

              (1) プログラムの修正 (CAPTCHAコードの設定に関係なく修正 > 本家に報告)
                 assets/snippets/weblogin/weblogin.processor.inc.php L303~308 (判定文を以下の判定文で更に囲う)
              if ( !empty($useCaptcha) {
                ・・・
              }
            

              (2) ログイン画面の修正 (CAPTCHAコードをONにした場合は個別に対処すること)

                 以下の行をウェブログインフォームチャンク(FormLogin)の<label for="password">〜</label>
                 の下あたりに追加し、画像認証を表示すること(※tabindexは適当に調整)。
                        <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>
            


            ここまでが議論の経過だと思うのですがどうでしょう?

            パッケージ的には、上記(2)もカバーしてあげないといけない気がするので、FormLoginがCAPTCHAのON/OFFによって、
            表示内容を変化させる仕組みまで盛り込む必要があるように感じます(例えばスニペット化してconfig見るとか・・・)
            私的には、soushiさんの案3)もありだと思いますが、本家の判断に委ねてしまってもよいと思います。
            ----------------------------------------------
            2.sama55の英語能力について

              soushiさんと同程度(soushiさんすみません)。 ※読解試験はパスできても作文で落ちるタイプ

            ----------------------------------------------
            3.Revolutionにおけるウェブユーザの作り方について

             また、どこぞのスレで語りませんか(そろそろこのスレ閉じないといけませんし)。
            ----------------------------------------------

            以上です。 (ふ~)
              • 6350
              • 421 Posts
              一度きり登場した tkfm さんを除いてここを見ているのは soushi さんに sama55さん yamaさん dainitiだけのようなので他に翻訳に参加してもらえそうな人には期待できないようですね。

              内容的には soushiさんの最終案で OKと思います。とにかくふだんあまり使うことのない機能なので急ぐ必要はないと思います。必要があれば soushiさんの提示してもらったコードを参考に自分で対応できそうなので。

              Quote from: sama55 at Jan 20, 2009, 11:39 PM

               1.2 対処方針

                WebLoginでは、CAPTCHAコードの設定に連動して動作し、ONの場合はログインフォームに画像認証が表示
                されていることを前提に、従来どおりの認証チェックを行う。
              ここは一つ前の結論で soushi さんの最終的な結論はCAPTCHAコードの設定に連動しない、だと思います。

              で、そろそろお開きにしましょうか。あとは soushiさんにおまかせして
                • 26012
                • 324 Posts
                $useCaptchaの設定元が、「MODxのCAPTCHAコードのON/OFF」と勘違いしました。
                以下書き直してみます。

                -----------------------------------------------------
                1.CAPTCHAコード=ONの場合WebLoginがこける件

                 1.1 原因と仕様の分析結果

                  ・WebLoginでは、CAPTCHAコードがONの場合は、ログインフォームに画像認証が表示されてることが大前提。
                  ・インストール状態のウェブログインフォーム(FormLogin)には画像認証がないため、CAPTCHA設定と
                   ログインフォームの表示内容にずれが生じてエラーになっている。
                  ・CAPTCHAコードのON/OFF設定は、管理画面ログインに画像認証を表示するかどうかの設定である。
                  ・CAPTCHA機能そのものは、CAPTCHAコードのON/OFF設定に関わらず使うことができる。

                 1.2 対処方針

                  WebLoginでは、MODx本体のCAPTCHAコードの設定に連動せず、jotと同様にCAPTCHA使用の有無をオプションで
                  指定できるようにし、そのオプションがONの場合はログインフォームに画像認証が表示されていることを前提に、従来
                  どおり認証チェックを行う。(1/22修正)

                 1.3 対処案

                  (1) プログラムの修正例(1/22修正)

                   (A) スニペット(WebLogin)の変更
                $tpl		= isset($tpl)? $tpl:"";
                $useCaptcha	= isset($useCaptcha)? $useCaptcha:0; //←追加行
                

                   (B) assets/snippets/weblogin/weblogin.processor.inc.php L303~308 (判定文を以下の判定文で更に囲う)
                  if ( !empty($useCaptcha) {
                    ・・・
                  }
                

                  (2) ログイン画面の修正例 ($useCaptchaをONにした場合)

                     以下の行をウェブログインフォームチャンク(FormLogin)の<label for="password">〜</label>
                     の下あたりに追加し、画像認証を表示すること(※tabindexは適当に調整)。
                            <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>
                

                -----------------------------------------------------

                こんな感じでしょうか?

                パッケージ的には、FormLoginが$useCaptchaのON/OFFで、表示内容を変化させる仕組み((2)を出すか出さないか)
                まで盛り込む必要があると思いますが、この辺は、本家/作者一任でよいと思います。(1/22修正)
                  • 6350
                  • 421 Posts
                  3人の意見が一致し安心しました。 laugh