CafeLogを改造 ページタイトルを記事タイトルに変える
2021.08.18
CafeLog 大変便利に使わせていただいております。
作者様にはとても感謝しております。
CafeLog v5.02をしばらく使わせていただきましたが、
その私が今一番感じている問題があります。

CafeLogのページタイトルがブログのタイトル名になっているために
Googleなどの検索エンジンにクロールされない(;´Д`)
つまりアクセス数が伸びない仕組みだということ。

つまりうちのブログで言うと、ページタイトルが「Randol News」となっているため、
何の記事なのかロボットが理解できず検索エンジンの優先順位が落とされているということです。

まぁ、アクセス数を稼ぐ心算で始めたものではないので今までは良かったのですが、
最近は多いに越したことないなと思うようになり、
疑問に思ってしまった以上、解決しなくては気持ち悪い。
というわけで試行錯誤で解決策を考えていきたいと思います。

最新のVer5.11ではソースを覗いてみるとこの問題は対応されているようですので
過去バージョンを使い続けている人専用の改造となります。


まず、テンプレートの中身を覗いてみましょう。



titleタグの間に見慣れない記号「!title!」があります。
subjectタグの間にも「!subject!」があります。
はて?私はこの「!~!」という物の存在を知りません。
私の無知で理解が追い付かないだけなのかもしれないと思い、
ネットで調べまくってみましたがそれでもわかりませんでした。
テンプレートという意味合いから変数的なものと独自解釈しましたが、
!title!を!subject!にしてしまえば、記事タイトルをページタイトルにできるのですかね?
試しに変えて実験してみました。
結果は・・・・・失敗
タイトルにはそのまま!subject!と表示されただけで変化はありませんでした。
手ごわい(;´Д`)
手抜きはダメですね。仕組みを調べて大元を弄る必要がありそうです。

!~!は開発者の独自記号なのでは?という推理を立てて
どこかに記号を文字に変換する記述があるかもしれないと判断。
そこでsys\libフォルダ内(5.00以降はadmin\libにフォルダ名称が変更されています)の
テキストファイル全てに「!title!」で検索をかけ
該当するファイルを探してみます。

ありました(;´Д`)



sys\lib\ref_chg.pl の中に。(5.00以降はadmin\libにフォルダ名称が変更されています
おそらくこのPerlファイルがテンプレートを実データに変換する集合体なのでしょう。
61行目の
$tmpl{index} =~ s/!(title|subttl)!/$cf{$1}/g;
がブログ名をページタイトルとして置換している部分です。
これをいじくってしまうと看板帯の文字も連動して変化してしまうので、
はて、どうしようかなと。

あとこのブログシステムは、各記事を一覧として表示する画面と、
記事番号ごとに収録するart
日付けごとに収録するday
月ごとに収録するmon
カテゴリーごとに収録するcat

の4種に記事が保存されています。
私が加工したいのは記事だけのページのタイトルを変えたいので、
art以外はタイトルは「Randol News」でいいのですよ。
artだけ記事タイトルがページタイトルとして載ってほしい。
この2面性をクリアするのはどうしたらいいのだろう(;´Д`)

家に帰ってきてからの空き時間でじっくり眺めること2日、
大体このプログラムの流れが分かりました。
このブログCGIは、ヘッダ部分は全て共通パーツとして考えられています。
この仕組みが根本にあるので記事タイトルをページタイトルとして使うなんて発想は無かったのでしょう。
なので、わざわざメイン処理にヘッダを組み込む必要が無いということで、
メイン処理から完全に除外されており、ヘッダは「変更反映」時にドッキングする
という仕組みが取られています。
完全に切り分けられているせいで、メイン処理のループ内にあるsubjectの値をそのまま参照し、
ヘッダのタイトルを記事毎に加工することは非常に困難となっています。
(後日追記:この記事を書き終えた後に最新の5.11のソースを解析してみたら、
Subjectの内容を記事数分すべて収める配列を用意して、
ドッキングするときに配列の中身を覗き見るという形に変更されていました。
私が面倒と思っていた部分にしっかりメスをいれていましたね。
真似ればよかった(;´Д`))


そこで考えました。夢の中で。簡単に数行書くだけで解決できないものかと。
ヘッダー、ボディ、フッターが完全にドッキングされ保存される直後のデータを覗き見て
そこを加工するのが一番簡単なのではないかと。
その箇所は384行目からの部分



386行目に空白がありますが、そこにプログラムを追加していきます。



こんな感じです。
Pealは馴染みが無いため、後の自分のために注意書きを残していますが、
ちょっち見苦しいのでカットしたものを以下に書きます。

my $headart = $head;
my $LeftKey = index($day, "subject");
my $St = $LeftKey +9;
my $i= $St;
while (substr($day, $i, 6) ne "") {$i++;}
my $teststr = substr($day, $St, $i-$St);
$headart =~ s/Randol News /$teststr/g;

画像にも書きましたが、一番下の行に自分のブログ名を入れる必要があります。
ブログ名の後ろには半角スペースを1つ入れるのを忘れずに。
この文はRandol Newsという文字が見つかったら記事タイトルを差し替えるというものです。
398行の$headを$headartに変えるのは不変のHeadをいじるわけにはいかないので
中身をコピーし改変したHeadartを利用するためです。

全て書き換え終わったらref_chg.plファイルをアップし更新。
次にCafeLogの管理画面に入り、「テンプレート編集」に入ります。



何も弄っていない場合は、↑この様になっていると思います。
それを↓の様に書き換えます。



!title!や!subject!と書かれている部分を直にブログ名を入れ込むのです。
2か所ありますが、上の部分にはスペースを入れることを忘れずに
このスペースがある無しでページタイトルか、ヘッダー部分の帯なのかを判断しています。

書き換えが終わったら、「変更反映」を実行することで
Artフォルダに保存される固定ページにはタイトルに記事名が表示されるようになります。
正直、自分でも美しい改造とは思っていません。
テンプレートの中身を弄ってしまっていますからね。
でも簡単に終わらせるのであればこれが一番楽かな・・と

これでアクセス数は上がるかな?(;´Д`)
CORESERVERで当ブログをSSL対応させた話
2021.07.24


「●●さんのブログ、警告うるさいんすけど」

と言われました(;´Д`)
個人の落書きブログなのでセキュリティ云々言われても困るんですけど。
てか、Googleめ、うちが悪意のあるユーザーと取れるような警告やめれ(;´Д`)
分かりやすく「第三者のハッキングにより」とか書きなさいよ。ヽ(`Д´)ノプンプン
まぁこれも時代の流れっちゅーわけでSSLの導入を試みてみました。

チョイチョイっと弄れば5分くらいで終わるかと思っていた時期が私にもありました。
実際は・・・・ハイ、かなり手こずりました(;´Д`)

ここでの記事は、XREA系サーバー(VALUESERVER等)で
無料SSLを組み込むことをを目的としています。


XREAやCORESERVERではLet's Encryptが提供している無料SSLを
簡単に組み込めるサービスがあるのですが、
説明ページ通りにやってもうまく繋がらない。
ドメインやサーバーがらみは設定しても数分から数時間、会社対応が悪いと数日待たされることもあるので、自分の設定が本当に悪いのかどうかの判断も難しいので
正直
「メンドクセ!」
と思いました。
とりあえずCORESERVERの設定画面にバグがあったわけですが、
それに気が付かないと永久に解決できなかったかもしれません(;´Д`)

誰もが疑問に思うけど誰も触れない重要事項として以下の2点をまとめておきます。

※無料SSLを使うだけなら設定はサーバー側だけでok ValueDomainは操作不要です。
※コントロールパネルは、旧版と新版の両方を活用しないと必要な情報が得られません。


さて設定方法をまとめておきます。
私の備忘録も兼ねているので順を追って説明をば。



まずはサーバーの設定画面に入ります。
↑の画面では旧コントロールパネルになります。
無料SSLの有効化は新コンパネで行いますので、
丸印のスイッチを動かして新コンパネに切り替えます。



↑画面が切り替わったら、左の黒帯メニューから「サイト設定」をクリック



↑サーバーに紐づいてるドメインが表示されています。
無料SSL化したいサイトの設定画面に入りたいので、
赤丸印で括ったスパナマークをクリック



↑「サイト設定の変更」画面に切り替わりました。
SSLの項目を「しない」から「無料SSL」に切り替えます。
これだけで本来なら終了ですが、バグがあるので終わりません(;´Д`)



↑上部黒帯にある「旧コンパネ切り替え」を動かして古い画面に戻ります。



↑旧コンパネに戻ってきました
左側のメニューの「SSL設定」をクリック



↑SSL設定で自分のドメインが有効になっていたら問題ないのですが、
なっていなかったら、右側の下向き矢印ボタンを押して
メニューから有効にしたいドメインを選択しておきます。



↑ドメインが選択されたら、横にある「証明書設定」のボタンを押します。



↑数手前で行った「無料SSL」のスイッチ切り替えで自動生成された文字列が
枠内に入ってきてます。(上記の文字列はダミーデータです
4枠あるうち、一番上の枠は空白で問題ありません。
それ以外の枠全てにデータが入っていれば正常に設定されていることになるのですが、
(もしどの枠にも全く入力されていない場合は、生成に時間が掛かっているだけなので、
数分お待ちください。)
よく見ると画像のように文字列が入っていない枠が現れます。
どれが空欄になるかは運次第です。
文字列ガチャです(;´Д`)
運よく3枠埋まっている場合は、何も問題ありません。
その場合は全てをそっと閉じ、HTTPSでアクセスできるのをしばらく待ちましょう。

殆どの場合はバグって3枠そろっていません(;´Д`)
その場合は、入力されている文字列をテキストエディタなどにコピーしておき、
空欄部分が正しく表示されるまで何度も再生成を行ってもらいます。
 


その方法は前述した↑のスイッチを一度「しない」にして、
「無料SSL」へ再度入れなおすというものです。
この画面に行くためにはまた新コンパネに行かなくてはならないので少々
面倒ですがね(;´Д`)



何度かやってみると↑のように空欄位置が違うパターンが現れます。
前回の空欄部分には文字列が入っているので、この文字列と前回のを組み合わせ、
3枠分の文字列を導き出します。
それぞれの枠に本来はいる文字列は何度生成しなおしても構成が変わることはありません。
繰り返し生成される内容をみましたが、かならず決まった内容が入力されていました。



3枠分の文字列データが集まったら
そのデータを必要な枠内に自分で入れ、「SSL証明書・中間証明書インストール」を押し、
全ての作業は終了です。
後はサーバー設定の画面からログアウトしてhttpsで入れるのを待ちます。
私の時は1時間ほどかかりました。遅いときは半日以上かかる場合があるようです。
気長に待ちましょう。



最後に予備知識として書いておきますが、
3枠のうちの一番下の枠、「発行された中間証明書 SSLCACertificateFile」のところですが、
入力されている文字列をよく見ると

-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

で一括りになるはずですがなぜか2括りありますね。
なぜなんでしょう。他の枠では1括りだけです。
SSLについて私は詳しくないのでわかりませんが
とりあえずこの二括りの文字列をそのまま加工なく入れ込むことで成功しました。

※今回の記事に表示されているキー文字列はランダムに生成したものです。ハッキングにはつかえません(;´Д`)
Zpoolの送金タイミングが変更?
2021.05.17
いままでZpoolはビットコインが0.0025BTCになるまでは送金しないスタイルでした。
これがとてもしんどくて、なかなか掘れない今のご時世では
ガチでやってる人以外は数カ月かかるという有様です。

ZPOOLの管理画面を見ると、あといくら掘れば送金されるのかが円グラフで分かります。
16日に確認すると、達成率がいきなり2%も上がっていました。
マイニングスピードから考えるとこれはおかしいです。
そこでよくよく調べてみると、
送金タイミングが、0.0018BTCになっているではありませんか。
こちらとしては大幅に楽になるので喜ばしいことですが、本当なんですかね。
なにかのトラブルで一時的に変わってるだけだったら悲しい(;´Д`)


6/3 追記
0.0017BTCに変更になっています。
何があったのでしょう。

6/20 追記
0.0016BTCに変更
ビットコイン相場が急落したのが原因でしょうか。

7/17 追記
0.0015BTCに変更

9/29 追記
まだ0.0015BTCのまま




Cafe Logでアマゾンリンクを張ると表示がおかしくなる件
2021.04.19
前々からこの症状は気が付いていたんですけどね。
レスポンシブ対応のバージョンになってからこの症状が出ます。
作者は完全に沈黙しているので今後も治る可能性は低いです(;´Д`)

原因は、記事を書いて保存するときにIframeが勝手に書き換えられてしまうからです。
正確に言うと、styleの寸法等の記述がカットされます。
これを回避する方法は今のところ2つだけ発見しています。

記事を完全に書き終えてから一度「更新する」で保存。
その後、もう一度ページ作成フォームに入り、アフェリエイトのIframeテキストを張って
すぐさま「更新する」を押して保存。
その間、決してエディタ画面に切り替えることの無いようにします。


これで改変されずに保存はできますが、一度でも編集画面を開いて保存してしまうとおかしくなってしまうので、あとから追記書きすることができなくなります。
どうしても編集したい場合はアマゾンリンクは作り直し覚悟ということで。

リンクのソースを書き換えることにためらいが無い人は、
iframe marginwidth="0" ~~~~
の記述のところで
iframe width="120" height="240" marginwidth="0"~~~~
というふうに自分でサイズを記述する。
これで一応は使える。

すでにリンクが書き換わっちゃっている場合は、
class="width:120px;height:240px;"  と  frameborder="0"> の間に
width="120" height="240" を入れるといいです。

↓のリンクはサイズを指定した方法で貼り付けたもの。



お隣さんがドンパチ始めそうな気配なので、
そろそろ必要かなと思うものを張ってみました。
最近地震も多いしね。
ソーラーで動くものを中心に貼ってみました。
サイズもそろってきれいに貼られていますね。
これでアマゾン対策はばっちりです。

ついでに欲しいものリストhttps://www.amazon.jp/hz/wishlist/ls/WYU8J16SAJJJ?ref_=wl_share)に入れてみました。奇特な方がいらっしゃいましたらご提供お待ちしております(笑)
もし提供があれば、レビューはしっかりやります(;´Д`)
不在連絡を装ったメール
2021.04.16
知らない電話番号07053511963からSMSメールが届いた。
070と言えば基本的に携帯番号。

「ご本人様不在の為お荷物を持ち帰りました。ご確認ください。
http://○○○○.duckdns.org」


なんだこのアドレス(;´Д`)
あからさまに怪しい。
携帯番号なのでドライバーが直接連絡してきたのかとも思ったが、
今までの配送業者は不在通知の伝票をポストインして去っていくだけなのでかなりおかしい。

そもそも運送会社がアルファメットをランダムに作成されたサブドメインを使うのは不自然すぎる。
そこでちょっと検索してみた。
そしたらもう注意喚起のホームページが出るわ出るわ(;´Д`)
やっぱりこのメールは偽物です。
私でもちょっと??っと悩んでしまいましたよ。
普通の人ならヤヴァイです。簡単に引っかかってしまいますよ。

私の場合、こんなこともあろうかとSMSや通話等、電話番号を使うものはガラケーを使います。
そしてガラケーではネット通信をOffにしています。
つまりこんなSMSメールが来ても開けません。
スマホは通信専用として使っており、SMSでのやり取りはほぼなく、あったとしても知人のみとなっています。
そのため、このようなトラップに引っかかることはまずありません。

一応、この怪しいドメインをWhoisで調べてみました。

Domain Name: DUCKDNS.ORG
Registry Domain ID: D168424869-LROR
Registrar WHOIS Server: whois.gandi.net
Registrar URL: http://www.gandi.net
Updated Date: 2020-12-19T22:27:08Z
Creation Date: 2013-04-12T19:58:56Z
Registry Expiry Date: 2029-04-12T19:58:56Z
Registrar Registration Expiration Date:
Registrar: Gandi SAS
Registrar IANA ID: 81
Registrar Abuse Contact Email: abuse@support.gandi.net
Registrar Abuse Contact Phone: +33.170377661
Reseller:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registrant Organization:
Registrant State/Province: Paris
Registrant Country: FR
Name Server: NS1.DUCKDNS.ORG
Name Server: NS2.DUCKDNS.ORG
Name Server: NS3.DUCKDNS.ORG
Name Server: NS4.DUCKDNS.ORG
DNSSEC: unsigned

情報の頭だけ切り出しましたが、おそらくダミーデータですね。
フランス、パリのドメインとか・・
070の電話番号からSMSを送ってくるということは国内にいる人間だと思うし、
その気になれば警察は追えるとおもうんだけどなぁ・・・
はよ捕まえてくれ(;´Д`)

2021/05/16追記
この記事のアクセスが急上昇しています。
かなりの人がこの問題を抱えているのでしょう。
他の方の記事をみると、誘導されたHPの先でAppleIDとパスワードを求めてくるということがあるようです。
GoogleアカウントやAppleアカウントは乗っ取られると厄介。
安易に入力しないようにしましょう。

- CafeNote -