<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
      <!ENTITY lt "&#38;#60;">
      <!ENTITY gt "&#62;">
      <!ENTITY amp "&#38;#38;">
      <!ENTITY apos "&#39;">
      <!ENTITY quot "&#34;">
      <!ENTITY nbsp "&#160;">
      <!ENTITY copy "&#169;">
]>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text">ブログ</title>
    <subtitle type="text">XCL Labo-XCL の利用とカスタマイズに関する備忘録</subtitle>
    <updated>2026-05-18T01:01:43+09:00</updated>
    <id>https://xcl.masa-lab.net/modules/d3blog/index.php</id>
    <link rel="alternate" type="text/xhtml" hreflang="ja" href="https://xcl.masa-lab.net/" />
    <link rel="self" type="application/atom+xml" href="https://xcl.masa-lab.net/modules/d3blog/index.php?page=atom" />
    <rights>Copyright &copy; 2008-2018 by MASA Lab.</rights>
    <generator uri="https://xcl.masa-lab.net/">D3BLOG - XOOPS BLOG MODULE</generator>
    <entry>
        <title>20181220 で xupdate 管理画面が白紙に</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=246" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=246</id>
        <published>2019-04-05T22:00:00+09:00</published>
        <updated>2019-10-16T17:21:20+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">ローカル環境で xupdate を使って core をアップデートした後で本番環境にDBやファイルをアップロードし本番環境の管理画面から xupdate を呼び出したらリロードが何度も走ったうえで白紙画...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>ローカル環境で xupdate を使って core をアップデートした後で<br />本番環境にDBやファイルをアップロードし<br />本番環境の管理画面から xupdate を呼び出したら<br />リロードが何度も走ったうえで白紙画面が表示されてしまった<br /><br /><pre class="blogCode"><code>
/modules/xupdate/admin/index.php?action=UserPassColumnLenFix&amp;xoops_redirect=....
</code></pre><br /><br />色々調査したところ以下のような問題であった<br /><br />20181220 へのアップデートによって？ mainfile.php に以下のコードが挿入される<br /><pre class="blogCode"><code>
    // Alrady fixed length of users table pass column of this DB (Auto inserts by X-update)
    define(&#039;XCUBE_CORE_USER_PASS_LEN_FIXED&#039;, true);
</code></pre><br /><br />この値がセットされていないと xupdate の管理画面を表示した際に、この更新を行うためのリロードが行われる模様<br /><br />mainfile.php は動作環境によって異なるので、すでにこの対処が行われたDBで、このコードが追加されていない mainfile.php を使用すると<br />この更新処理を実行しようとして、失敗してしまうものと思われる<br /><br />本番環境の mainfile.php に、上記のコードを追加してあげれば治る</div>]]>
       </content>
    </entry>
    <entry>
        <title>xupdate CorePack アップデートで画面が真っ白 2</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=245" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=245</id>
        <published>2018-12-26T18:27:04+09:00</published>
        <updated>2019-04-05T14:41:32+09:00</updated>
        <category term="不具合情報" label="不具合情報" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">xupdate で以下のアップデートをかけたら画面が真っ白にCorePack 20180208 → CorePack 20181220以下の二つのファイルのパーミッションを確認html/modules/user/preload/Primary/EncryptPassword.class.phpxoops_trust_path/...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>xupdate で以下のアップデートをかけたら画面が真っ白に<br />CorePack 20180208 → CorePack 20181220<br /><br /><br />以下の二つのファイルのパーミッションを確認<br />html/modules/user/preload/Primary/EncryptPassword.class.php<br />xoops_trust_path/modules/xupdate/admin/actions/UserPassColumnLenFixAction.class.php</div>]]>
       </content>
    </entry>
    <entry>
        <title>xupdate CorePack アップデートで画面が真っ白</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=243" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=243</id>
        <published>2018-11-26T19:31:11+09:00</published>
        <updated>2019-01-10T20:24:23+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">xupdate で以下のアップデートをかけたら画面が真っ白にCorePack 20170328 → CorePack 20180208エラーログを見るとhtml/preload/debugOnlyAdmin.class.phpが読み込めてない模様フォルダを確認すると -rw-r----- と...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>xupdate で以下のアップデートをかけたら画面が真っ白に<br />CorePack 20170328 → CorePack 20180208<br /><br />エラーログを見ると<br />html/preload/debugOnlyAdmin.class.php<br />が読み込めてない模様<br /><br />フォルダを確認すると -rw-r----- というパーミッション<br />chmod go+r してあげてブラウザをリロード<br />無事に表示されるようになった<br /><br />おそらく開発環境の PHPは mod_php で動いているため<br />パーミッションが足りないのだろう<br />サーバ環境なら fastCGI なので問題は起きないと思われるが<br />他のファイルに合わせて -rw-r--r-- にしておくのが吉？</div>]]>
       </content>
    </entry>
    <entry>
        <title>coreserver 移行での不具合</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=240" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=240</id>
        <published>2018-10-29T22:10:00+09:00</published>
        <updated>2019-04-05T14:43:58+09:00</updated>
        <category term="不具合情報" label="不具合情報" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">ssh オートログインを設定していたのだが以下のエラーが出た
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>ssh オートログインを設定していたのだが以下のエラーが出た<br /><br /><pre class="blogCode"><code>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
 Someone could be eavesdropping on you right now (man-in-the-middle attack)!
 It is also possible that a host key has just been changed.
...
</code></pre><br /><br />サーバが変わったからだが、<br />ssh-keygen -R "xxx.coreserver.jp"<br />としてから、再接続で再登録してもなぜか怒られる<br /><br /><pre class="blogCode"><code>
Warning: the ECDSA host key for &#039;xxxxxxxxx&#039; differs from the key for the IP address &#039;XXX.XXX.XXX.XXX&#039;
Offending key for IP in /home/hoge/.ssh/known_hosts:N
</code></pre><br /><br />IPアドレスでの登録 known_hosts にあったのか、該当の行を削除したら治った<br />もう一度 ssh-keygen -R で IPアドレスを指定して実行すればよかったのかも<br />という訳で、別のマシンから再度試してみた<br />やっぱり<br />ssh-keygen -R "XXX.XXX.XXX.XXX"<br />と IPアドレスを指定したら、問題は消えた</div>]]>
       </content>
    </entry>
    <entry>
        <title>xoops ログインできなくなった!!</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=220" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=220</id>
        <published>2014-07-02T10:49:32+09:00</published>
        <updated>2015-10-07T10:59:08+09:00</updated>
        <category term="不具合情報" label="不具合情報" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">最近何度かログインをしようとしてうまくいかないことがあった。 user.php の応答がないのだそしてついにまったくログインできなくなってしまった。user.php をコピーした名前を変えた user...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>最近何度かログインをしようとしてうまくいかないことがあった。 <br />user.php の応答がないのだ<br /><br />そしてついにまったくログインできなくなってしまった。<br />user.php をコピーした名前を変えた user2.php などを作ってアクセスしてみるもダメ<br />Delegate の中身に何かがあるのだろうか？<br /><br />さぁどうしよう。<br />まずはDBを引き上げてきて、開発環境に同じ状態を構築してみた。<br />やはりuser.php が応答しなくなった。<br />ということではソースの問題ではなく、DBの状態ということだ...<br /><br />user.php は<br />Legacypage.User.Access Delegate<br />を呼び出しているだけだ<br />Legacypage.User デリゲートは<br />modules/user/kernel/LegacypageFunctions.class.php で定義されている class User_LegacypageFunctions の user メソッドだ。<br /><br />そこからソースを追って、どんどん調べてみると、<br />core/XCube_Controller.class.php の executeHeader() 中の _setupBlock() 呼び出し<br />で落ちているようだ<br />無理やり _setupBlock() をコメントアウトしてログインし、コメントアウトを元に戻す。<br /><br />その後管理画面のブロックの管理からブロックを外しながら試してみると google adsense のブロックがあると落ちることが分かった。<br /><br />しかしなぜそれで落ちるのか？しかも user.php の時だけ？<br />というのは全く分からなかった。<br /><br />仕方がないので、user.php では、該当のブロックが表示されないようにすることで回避した。</div>]]>
       </content>
    </entry>
    <entry>
        <title>TOKENがおかしい?!</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=217" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=217</id>
        <published>2014-06-12T22:00:00+09:00</published>
        <updated>2014-06-13T18:57:05+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">xoopsX で新たに作ったサイトで chrome や FireFox で新規登録しようとすると
照合用のワンタイム・チケットが見つかりませんでした。
ほとんどの場合は操作手順の関係でワンタイム・チケ...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>xoopsX で新たに作ったサイトで chrome や FireFox で新規登録しようとすると<br /><pre class="blogCode"><code>
照合用のワンタイム・チケットが見つかりませんでした。
ほとんどの場合は操作手順の関係でワンタイム・チケットが消費されただけですが、
CSRF攻撃を受けた可能性もあります
（この操作は本当にあなたが望んだ操作ですか？）　
操作内容をしっかり確認し、もう一度操作を行ってください。
</code></pre><br />と表示されて、登録ができないという状況が発生。<br />IEでも最初の一回目は同様のメッセージが出たり出なかったり...<br />新規登録に限らず、トークンがすべてだめのようだ。<br /><br />いろいろ試してみると、どうもこのサイトのために作ったテーマのせいらしいことが分かった。<br />標準のテーマなら新規登録できるのだが、テーマを変えると問題が起こる。<br />何か、大事なものを入れ忘れているのか？<br /><br />まずは状況確認...<br /><br />新規登録画面を出して、ソースを開き、フォームの変数 module.user.UserRegisterEditForm.TOKEN の value を確認する。<br />うーむ、値は入っているようだ。<br /><br />では次に、その時のセッション変数の値を確認するために phpMyAdmin で xxxxx_session テーブルの中身を開き、sess_data の module.user.UserRegisterEditForm.TOKEN の値を見る。<br /><br />こちらにも値は入っているが、フォーム変数に設定されている値とは違う値になっている！！！？？？<br /><br />どういうことだ？<br />この時点でかなりパニック<br /><br />うーーーー。<br />とにかくテーマに問題があるのだから、theme.html を直すしかない...<br />ということで、コードをどんどん削っていく。<br />いくら削っても変わらない...<br />最後の最後↓を削ったらビンゴ！<br /><br /><pre class="blogCode"><code>
&lt;link rel=&quot;SHORTCUT ICON&quot; href=&quot;&quot; &gt;
&lt;link ref=&quot;icon&quot; href=&quot;&quot; type=&quot;image/ico&quot; /&gt;
</code></pre><br /><br />うーん<br />どういうことだろう？<br />href="" なので、該当のURL に対して2度アクセスしてしまったということだろうか？<br />理屈からするとあり得そう。<br />1度目にアクセスしたときに TOKENが作られて FORM に埋め込まれる。<br />href="" でもう一度リクエストがきて、再度 TOKENが作られて、その値でDBの値が上書きされるためにTOKENの値がミスマッチになるということだ。<br /><br />chrome のネットワークモニターで見ても2度目のアクセスは出てこないのが気になるが、<br />favicon のアクセスは通常のアクセスとは別に行われているようで、それは link 要素で指定した場合でもそうなのかもしれない。<br />fiddler あたりで確認すればわかるのだろうが、理屈があっているので良いことにする。<br /><br />とにかくこれにて一件落着。勉強になりました。<br /><br />それにしてもデザイナーさん！<br />こういう技術力を試すような罠を入れておくのはお願いだからやめてください<(_ _)>0</div>]]>
       </content>
    </entry>
    <entry>
        <title>altsys? テンプレート編集で勝手にエスケープ文字列が入ってしまう！</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=208" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=208</id>
        <published>2014-05-05T22:40:00+09:00</published>
        <updated>2014-06-09T13:43:05+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">
altsys でテンプレートの編集をしているときに、なぜか勝手にエスケープ文字列が付加されていたことがあった。
</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><p>
altsys でテンプレートの編集をしているときに、なぜか勝手にエスケープ文字列が付加されていたことがあった。
</p>
<pre class="blogCode"><code>
&quot;&#039;\
</code></pre>
<p>
チケットタイムアウトしてしまった時に、そのまま repost をすると、上記の文字の前に \ が付加されてしまうようだ。<br />
そのために、テンプレートが正しく動作しなくなることがあるので注意！
</p></div>]]>
       </content>
    </entry>
    <entry>
        <title>コメントのネスト表示がカスタマイズできない？</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=185" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=185</id>
        <published>2012-11-18T22:10:00+09:00</published>
        <updated>2012-11-20T10:26:56+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">
XCL 2.2 で、ブログなどのコメント表示欄をカスタマイズしてみたときに、
うまくカスタマイズできない所があって悩んでしまった...
</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><p>
XCL 2.2 で、ブログなどのコメント表示欄をカスタマイズしてみたときに、
うまくカスタマイズできない所があって悩んでしまった...
</p>
<p>
コメント表示欄は、legacy_comments_xxxx.html あたりにある。<br />
altsys のテンプレート管理から、互換モジュールを開く。<br />
</p>

<p>
まずは、コメント表示欄のコメントの登録日時を日付だけの表示に変えるために、legacy_comment.html を開き
</p>

<pre class="blogCode"><code>
&lt;{$comment.date_posted}&gt;
</code></pre>
<p>
を
</p>
<pre class="blogCode"><code>
&lt;{$comment.date_posted|date_format:&quot;%x&quot;}&gt;
</code></pre>
<p>
に変えてみた。<br />
これで、ほとんどのコメント表示は直ったのだが、なぜかネスト表示にしたときの返信だけは治らなかった。<br />
</p>

<p>
色々悩んだのだが、結論から言うと、legacy_comments_nest.html の
</p>
<pre class="blogCode"><code>
&lt;{include file=&quot;db:system_comment.html&quot; comment=$reply}&gt;
</code></pre>
<p>を
</p>
<pre class="blogCode"><code>
&lt;{include file=&quot;db:legacy_comment.html&quot; comment=$reply}&gt;
</code></pre>
<p>
に変えることで、正しく表示することができた。
</p>

<h3>キャッシュに注意</h3>
<p>
この試行錯誤をしているときに、いくら変更してもうまく動作しないことがあった。<br />
もしかしてキャッシュされている？<br />
ということで、altsysの「高度なテンプレート管理」で、「コンパイル済テンプレートキャッシュ」の削除を行うことで、変更を反映させることができた。<br />
</p></div>]]>
       </content>
    </entry>
    <entry>
        <title>Smarty にクロスサイトスクリプティングの脆弱性</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=183" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=183</id>
        <published>2012-10-17T12:57:46+09:00</published>
        <updated>2012-10-17T15:34:36+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">Smarty にクロスサイトスクリプティングの脆弱性が見つかった- Smarty 3.1.11 およびそれ以前- Smarty 2.6.26 およびそれ以前JPCERT コーディネーションセンター Weekly Report</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>Smarty にクロスサイトスクリプティングの脆弱性が見つかった<br /><br />- Smarty 3.1.11 およびそれ以前<br />- Smarty 2.6.26 およびそれ以前<br /><br /><a href="http://www.jpcert.or.jp/wr/2012/wr124001.html#5" target="_blank">JPCERT コーディネーションセンター Weekly Report</a><br />XCL に使われている Smarty は xoops_trust_path/libs/smarty にあり、<br />2.2.1 同梱の Smarty.class.php を見ると<br /><pre class="blogCode"><code>
var $_version = &#039;2.6.26&#039;
</code></pre><br />となっていた。<br /><br />更新が必要だろう。<br /><br />Smarty 2.6.27 (Sep 25th, 2012) のダウンロードは↓から<br /><a href="http://www.smarty.net/download" target="_blank">Download | Smarty</a><br /><br />■XCLへの導入<br /><br />上記でダウンロードしたファイル(.zip版)を一時的に展開する。<br /><br />% unzip Smarty-2.6.27.zip<br />% (cd Smarty-2.6.27/libs/; tar -cf - .) | (cd xoops_trust_path/libs/smarty; tar -xf -)<br /><br />上書きでインストールしないといけないのは、XCL がプラグインを追加しているため。<br /><br /><br /><span style="font-size: large;">関連記事</span><br /><a href="http://xcl.masa-lab.net/modules/d3blog/details.php?bid=184" target="_blank">管理画面トップに Smartyのバージョンを表示する</a></div>]]>
       </content>
    </entry>
    <entry>
        <title>xcl 2.2.0 コメントの管理のjavascript</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=180" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=180</id>
        <published>2012-06-03T22:40:00+09:00</published>
        <updated>2012-06-21T10:50:24+09:00</updated>
        <category term="その他" label="その他" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">多分2.2.1 のβではすでに直っていると思うが...allbox チェックボックスの javascript
onclick=&quot;with(document.smilesform){for(...
のsmilesform は commentlistform でなければいけない修正ファイルの場所はmod...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>多分2.2.1 のβではすでに直っていると思うが...<br /><br />allbox チェックボックスの javascript<br /><pre class="blogCode"><code>
onclick=&quot;with(document.smilesform){for(...
</code></pre><br />のsmilesform は commentlistform でなければいけない<br /><br />修正ファイルの場所は<br />modules/legacy/admin/templates/comment_list.html</div>]]>
       </content>
    </entry>
</feed>