サイト運営の話」カテゴリーアーカイブ

不要なハードディスクにデータのバックアップ

不要になった内蔵ハードディスクや、CrystalDiskInfoで調べると代替処理済のセクタがあり注意と表示された内蔵ハードディスクなどは、ほとんど使い道がありません。

そんなハードディスクをその他のハードディスクのデータのバックアップや自分のサイトのデータのバックアップとして利用することにしました。
LAN接続のハードディスクが3台もあるので、その中の重要データをピックアップして1つのハードディスクに保存しておこうという作戦です。
1台はRAIDのハードディスクなのですが、実際にトラブって復旧させた経験が無いので、安心できないんです。

代替処理済のセクタがあり注意と表示された内蔵ハードディスクはクローンのハードディスクを作って入れ替えてから使うというのは言うまでもありません。
クローンのハードディスクを作るにはEaseUS Todo Backupが便利です。
俊は製品版を使っていますが、無料試用版でも1回は使えると思います。

クローンのハードディスクを作るには、SATAやIDEからUSBに変換する変換アダプタがあると便利です。
俊はIDE/SATAからUSB2.0に変換するGH-USHD-IDESA(GREEN HOUSE)を使っています。
GH-USHD-IDESA(GREEN HOUSE)は2TBまでのハードディスクにしか対応してないので、
最近OWL-PCSPS3U3U2(オウルテック)も購入しました。

まずは、ハードディスクの初期化ですが、コマンドで初期化するのは、操作ミスで現在使用中のハードディクを初期化するのが怖いので避けます。
データ用に使っていたハードディスクはコントロールパネル—管理ツール—コンピュータの管理—ディスクの管理で初期化とフォーマットができますが、システムの起動用に使っていたパソコンは消せない部分があるのでMiniTool Partition Wizardを使って初期化しています。

ハードディスクのデータをフォルダごとコピー転送するのは、最初はフォルダをドラッグしてコピー転送していたのですが、抜け落ちるファイルが多いのでやめました。
フリーソフトを使ってコピーしていた頃もあったのですが、最近はフリーソフトといいながら結局は購入しないと使えないフリーソフトが多いのでできれば使いたくないです。
最近、Windowsに簡単に確実にフォルダごとコピー転送ができる機能がある事を知り利用しています。コピー元のフォルダを右クリックしてコピー、コピー先のハードディスクの転送したところで右クリックして貼り付けでOKです。
ほとんどの人は知っているのかもしれません(苦笑!)。

自分のサイトのデータをハードディスクにバックアップするのには、FFFTPは不向きです。
FFFTPはアップロードに関しては有能ですが、ダウンロードに関しては取りこぼしミスが多いのでバックアップには不向きなんです。
ダウンロードに関しては、FTP Rushというフリーソフトを使っています。
FFFTPのようにフォルダの下層のファイルを大量に取りこぼすというトラブルは無いようです。
データベースやPHPの設定ファイルなども全部ダウンロードしておきました。

Google Chromeで画像を更新して再読み込み

ホームページを作っていて、更新したページをGoogle Chromeで読み込むと画像が前のままで表示するって事は、よくある事で、非常に困ります。
全部のキャッシュを削除するのも不都合だし、良い方法がないかなと調べたら、見たいページをGoogle Chromeで表示していて[Ctrl]+[Shift]+[R]キー(または[Shift]+[F5]キー)で画像を更新したページをそのまま見えるようになります。
これは便利です。

YY-BOARD新バージョンでのスパム対策

2022年5月16日

2022/5/16(月) 00:00 ~ 09:00にコアサーバー(coreserver.jp) 最新・高速サーバーへの移転メンテナンスが行われました。
それ以降、CGIで動作している掲示板(YY-BOARD)が従来のバージョンが動作しなくなりました。

掲示板自体がある意味では時代遅れになってしまっていますが、それでもスパム投稿はあります。
YY-BOARDの新バージョンでは画像を見て数字を入力させるなど、スパム対策は強化されているのですが、すり抜けるスパム投稿はあります。

YY-BOARDが新バージョンに変わった事に伴い、YY-BOARD spam 対策改造も利用できなくなりました。残念です。
CGIの知識も中途半端にしか持ち合わせていないので、自分で触れる部分はごくわずかです。

とりあえず、init.cgiの設定で、

スパム対策に画像認証を使用する場合の設定1にしておきます。
$cf{use_captcha} = 1;

# 投稿があるとメール通知する (sendmail必須)の設定を# 1 : 通知するにしておきます。
$cf{mailing} = 1;

# URLの自動リンク (0=no 1=yes)をnoにします。
$cf{autolink} = 0;

# 投稿制限(セキュリティ対策)を1 : 同一IPアドレスからの投稿間隔を制限するにします。
$cf{regCtl} = 1;

# 制限投稿間隔(秒数)を60秒にします
$cf{wait} = 60;

# 日本語チェック(投稿時日本語が含まれていなければ拒否する)を1=Yesにします。
$cf{jp_wd} = 1;

# URL個数チェック 投稿コメント中に含まれるURL個数の最大値を2にしました
$cf{urlnum} = 2;

2022年7月24日

掲示板(YY-BOARD)を新バージョンに更新してから、メール通知でホスト名は記載されるのですがIPアドレスが記載されなくなりました。
ホスト名からIPアドレス を取得する方法はあるのですが、他のサイトに行って変換したりしなければいけないので面倒です。
以前のように最初からIPアドレスを記載された方が便利です。
そもそも、なんでIPアドレスの取得が必要かというと、迷惑投稿をはじく場合に必要なんです。

メールにIPアドレスの通知を入れるように改造しました。

regist.cgiを改造します。

メール送信の部分で

#———————————————————–
# メール送信
#———————————————————–
sub mail_to {
my ($date,$host) = @_;

の部分を

#———————————————————–
# メール送信
#———————————————————–
sub mail_to {
my ($date,$host,$addr) = @_;

に変更します。

投稿日:$date
ホスト:$host

の下に1行追加して

投稿日:$date
ホスト:$host
IPアドレス:$addr

に変更します。

ついでに、ログにもIPアドレスを記録して、管理画面にもIPアドレスを表示するように改造しました。

regist.cgiを改造します。

unshift(@data,”$no<><>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$crypt<>$in{color}<>$icon[$in{icon}]<>\n”);
unshift(@data,”$no<>$addr<>$time<>\n”);

の全てに <>$addr を加えて

unshift(@data,”$no<><>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$addr<>$crypt<>$in{color}<>$icon[$in{icon}]<>\n”);
unshift(@data,”$no<>$addr<>$time<>\n”);

に変更します。

push(@data,”$no<>$in{reno}<>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$crypt<>$in{color}<>$icon[$in{icon}]<>\n”);

の全てに <>$addr を加えて

push(@data,”$no<>$in{reno}<>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$addr<>$crypt<>$in{color}<>$icon[$in{icon}]<>\n”);

に変更します。

my ($no,$reno,$date,$name,$eml,$sub,$com,$url,$host,$pw,$col,$ico) = split(/<>/);

に $addr を加えて

my ($no,$reno,$date,$name,$eml,$sub,$com,$url,$host,$addr,$pw,$col,$ico) = split(/<>/);

に変更します。

$_ = “$no<>$reno<>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$pw<>$in{color}<>$icon[$in{icon}]<>\n”;

の全てに <>$addr を加えて

$_ = “$no<>$reno<>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$addr<>$pw<>$in{color}<>$icon[$in{icon}]<>\n”;

に変更します。

admin.cgi を改造します。

my ($no,$reno,$date,$name,$eml,$sub,$com,$url,$host,$pw,$col,$ico) = split(/<>/);

に $addr を加えて

my ($no,$reno,$date,$name,$eml,$sub,$com,$url,$host,$addr,$pw,$col,$ico) = split(/<>/);

に変更します。

$_ = “$no<>$reno<>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$pw<>$in{color}<>$icon[$in{icon}]<>\n”;

の全てに <>$addr を加えて

$_ = “$no<>$reno<>$date<>$in{name}<>$in{email}<>$in{sub}<>$in{comment}<>$in{url}<>$host<>$addr<>$pw<>$in{color}<>$icon[$in{icon}]<>\n”;

に変更します。

print qq|<b class=”sub”>$sub</b> 名前:<b>$name</b> 日時:$date [$host]\n|;

に [$addr] を加えて

print qq|<b class=”sub”>$sub</b> 名前:<b>$name</b> 日時:$date [$host][$addr]\n|;

に変更します。

2022年8月2日

頻度は少ないけど、凄く文字化けしているスパム投稿があります。
その場合には、メールでの通知もありません。
掲示板のロゴファイルの最終更新日を表示してあるのですが、それを見て初めて気づくという感じです。
正式な手順を踏んでの投稿では無くて、直接にログファイルに書き込んでいる感じです。
ひょっとしたら、ShiftJISで書き込んでいるのかもしれません。
不思議です

2022年8月15日

スパム投稿防止のために .htaccess で特定IPアドレスのアクセスを制限しているのですが、何故か正常に動作していませんでした。

通常、 .htaccess に deny from 123.456.789.000 に記述すれば、IPアドレス123.456.789.000のアクセスを禁止できるのです。
いろいろ調べたら、 .htaccess の最後の行に空白の行を入れないといけないのを、怠っていたのが原因だったようです。
これで、とりあえず禁止したIPアドレスからのアクセスは無くなりました。

IPアドレス逆引きで調べると、スパム投稿のほとんどは、海外からのアクセスのようです。
最終手段として考えているのは、.htaccessで日本からのアクセス以外の禁止です。
全てのアクセスを禁止した上で、日本のサーバーだけを例外としてアクセスを許可するという設定のようです。

2022年8月28日

相変わらず、スパム投稿はあります。
通知メールは来たり来なかったりです。

アドレスは必ず2個入っているので、
# URL個数チェック 投稿コメント中に含まれるURL個数の最大値の設定を2にしてあるのは効いているようです。
URL個数の最大値の設定を2から1に変更しました。
$cf{urlnum} = 1;

ログを調べると

2630<><>2022/08/28(Sun) 03:06<>ehrwxyyx<>zhdheapz1980@gmail.com<>–Œê‚ªŠÜ禁odn<>–{Œê‚ªŠÜ禁<br> https://****.org/content/probalan-best-price-generic http://****.ru/info/voltaren-buying-generic-w7ze3<><>185.253.162.12<>185.253.162.12<>Sjv9GT0vVtQ6s<>0<>bear.gif<>
2629<><>2022/08/28(Sun) 01:32<>sqsekp<>fmbsoag1975@gmail.com<>–Œê‚ªŠÜ禁pfleh<>–{Œê‚ªŠÜ禁<br> http://www.****.ru/node/28762 https://****.net/vasotec-how-purchase<><>unn-143-244-54-140.datapacket.com<>143.244.54.140<>t9CvrLXw/lFnc<>0<>bear.gif<>
2628<><>2022/08/27(Sat) 22:32<>twtsmgo<>tfjwmjje1977@hotmail.com<>–Œê‚ªŠÜ禁slizt<>–{Œê‚ªŠÜ禁<br> http://****.hu/alesse_generic_comparable_to https://****.net/discussion/avapro-safe-online-pharmacy<><>154.6.130.141<>154.6.130.141<>mmtAjSv9QTZ/E<>0<>bear.gif<>
621<><>2022/08/28(Sun) 10:07<>rdmdaqpt<>fforwhk1979@gmail.com<>–Œê‚ªŠÜ禁iwbub<>–{Œê‚ªŠÜ禁<br> http://****.ru/forum/feldene-how-order-0 https://****.com/lesson/602895/avana-purchase-north-dakota<><>140.228.24.120<>1GawP52sC5R9E<>0<>bear.gif<>
620<><>2022/08/28(Sun) 02:02<>wrwnaplg<>desgpnk1975@hotmail.com<>–Œê‚ªŠÜ禁igzs<>–{Œê‚ªŠÜ禁<br> http://www.****.ru/node/28762 http://****.ru/info/voltaren-buying-generic-w7ze3<><>94.156.14.23<>gWFNhDfHkmRW6<>0<>bear.gif<>

必ず禁が入っています。
ꂪŠÜ禁 と 禁<br> http を禁止ワードに登録しました。
# 禁止ワード
# → コンマで区切って複数指定(例)$cf{no_word} = ‘アダルト,出会い’;
$cf{no_wd} = ‘ꂪŠÜ禁,禁
http’;

2022年9月3日

1週間スパム投稿が止まっています。

2022年9月9日

久しぶりにスパム投稿がありました。
.htaccess で deny from 123.456.789.000 に記述済のIPアドレスでした。
.htaccessをUTF-8で保存しなおしてアップロードしておきました。
念のため、MovableTypeでの禁止IPアドレスにも登録しておきました。

2022年9月26日

今のところ、完全にスパム投稿が止まっています。

撮影条件をまとめてみました

いろんな状況での撮影条件って、おのおの違います。
その時々で撮影条件を確認して撮影しますが、すぐに忘れてしまいます。
その都度調べるのが面倒なので、まとめておきます。
難しい撮影は基本的には三脚が必要です。
1/100秒より短ければ一脚でリモコン使用でも大丈夫です。
2秒タイマーを利用するのも有効的です。

 

ホタル
70mmのレンズでISO1600絞りF5.6、シャッタースピード60sec
100mmのレンズでISO1600絞りF8、シャッタースピード60sec
ピントはマニュアルです。

ホタル拡大
感度をISO1600、絞りを開放(F値最小)にして、マクロレンズ(SIGMA 焦点距離50mm F値最小2.8) で撮るのが良さそうです。
ピントはマニュアルです。
ホタルも動くので、シャッタースピードは出来るだけ短く(1/60秒より短く)すれば良いです。



NDフィルター
シャッタースピード1秒 ISO100 F値20 絞り優先Av

ライトアップ
絞り優先オート(A、Avモード)、ISO400、F11程度

キリコ祭り
ピントはマニュアルが必須です。
SIGMA AF 20mm F1.8 EX DG RF ASPHのレンズで、ISO1600,焦点距離20mm,絞りF1.8からF2.2シャッタースピード1/30から1/90秒
PENTAX FA50mmF1.4のレンズで、ISO1600,焦点距離50mm,絞りF1.4からF2.2,シャッタースピード1/90秒

三脚無しでは
PENTAX FA50mmF1.4のレンズで、ISO6400、絞りF1.4、シャッタースピード1/100秒、ホワイトバランス太陽光モード
PENTAX FA50mmF1.4のレンズで、ISO6400、絞りF2.2、シャッタースピード1/100秒、ホワイトバランス太陽光モード

室内の動く対象物を撮る

三脚無しでは
PENTAX FA50mmF1.4のレンズで、ISO3200、絞りF1.4、シャッタースピード1/100秒よりできるだけ短く

花火
シャッタースピードはバルブ、感度はISO100、絞りF10、ホワイトバランスは太陽光、ピントはマニュアルです。
背景が写り込まないようにデジカメを位置づけして、バルブでシャッターを開けっぱなしにして、2から3秒ごとに、レンズを遮蔽板で塞ぎながら少しずつ左右に回転して、画面いっぱいに花火が写り込むように撮影しました。レンズを遮蔽板で塞がないでレンズを回転すると花火の光の移動の軌跡が残るのでダメです。

夕焼け
夕焼けの撮影条件はISO100から400、絞りはF8からF12でホワイトバランスは日影、露出はマイナス0.7、絞り優先(Av)で良いという事で、それに近い条件をいろいろ試してみました。
陽に向かっての撮影の場合、可変NDフィルターを使う方が良いです。

掲示板の最終更新日表示(getstamp)が動作しない

2022年5月24日

2022/5/16(月) 00:00 ~ 09:00にコアサーバー(coreserver.jp) 最新・高速サーバーへの移転メンテナンスが行われました。
MovableType6が動作しなくなりました。
それ以降、CGIで動作している掲示板(YY-BOARD)もアクセスカウンター(lime)も人気投票(votecom)も掲示板の最終更新日表示(getstamp)も動作しなくなりました。

コアサーバー 最新・高速サーバーへの移転メンテナンスの影響だと思われます。
・標準PHP:FastCGI版7.1系 → FastCGI版7.4系
・MySQL:5.7系 → MariaDB10.6系

MovableType6はMovableType7にバージョンアップし解決しました。
掲示板(YY-BOARD)も新しいバージョンにアップデートしてデータも書き換えて解決しました。
ページ別アクセスカウンター(lime)と人気投票(votecom)は、jcode.pl をjacode.plに変更して、CGIのソースをrequire ‘./jacode.pl’;に変更して解決しました。

掲示板の最終更新日表示(getstamp)は相変われず、解決の糸口は見つかりません。

getstamp.cgiを動作させると

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at info@coreserver.jp to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.

の表示が出ます。

<SCRIPT type=”text/javascript”>
<!–
document.write(yybbs41_date);
//–>
</script>

が動作しません。

<SCRIPT type=”text/javascript”>
document.write( document.lastModified );
</script>

で、そのページの最終更新時の表示はできています。

SSIで動作させる事で更新日時を表示できることを知って試してみましたが動作しません。

.htaccess に

AddOutputFilter INCLUDES .html .htm

を追記すると、その階層下のhtml,htmでSSIが動作するようになりました。

ちなみに、バリュードメインやcoreserverのサイトには一切説明が無かったです。

ファイルの更新日時を表示するには
例えば、「sample.html」というファイルの更新日時を表示させたい場合は、
<!–#flastmod virtual=”sample.html” –>
をhtmlやhtmのソースファイルの中に記述するだけで動作します。

index.htm というページで 同じ階層の yybbs41のフォルダの中の dataというフォルダ内の log.cgi というファイルの更新日時を表示させたい場合は、

<!–#config timefmt=”%Y年%m月%d日” –>
<!–#flastmod file=”yybbs41/data/log.cgi” –>

で表示できます。
但し、同じサーバー内でもドメインをまたいでの検索表示は出来ません。

PHPをhtmlやhtmのファイル内に記述すると、いろんな事が出来るという事なので試してみました。

<?php
$last_modified = filemtime(”index.htm”) ;
echo “最終更新日は”;
echo date(“Y/m/d”, $last_modified);
echo “です。”;
?>

をhtml内に記述しましたが動作しませんでした。

.htaccess に

AddHandler application/x-httpd-php74cgi .html .htm

を追記すると、その階層下のhtml,htmでPHPが動作するようになりました。
ちなみに、バリュードメインやcoreserverのサイトには一切説明が無かったです

PHPの場合、ファイル名の指定は絶対アドレスは使えませんが、相対アドレスを使うと同じサーバー内であれば違うドメインのファイルでも指定できました。
他のドメインのトップの階層にあるページでhttps://kimassi.net/cgi/yybbs11/data/log.cgiの最終更新日を表示したい場合は

$last_modified = filemtime(“../kimassi.net/cgi/yybbs11/data/log.cgi”) ;

と指定すれば、ちゃんと表示できました。

但し、.htaccessの階層下のShiftJISのページが文字化けするようになりました。困りました。

バリュードメインに問い合わせしましたが、
文字コードは
/public_html/.fast-cgi-bin/phpご利用のバージョン.ini ファイル内の
下記部分で設定が可能となっております。
────────────────────
default_charset = “ご希望の文字コード”
────────────────────
にすれば良いと返答がきましたが、全く解決しませんでした。

仕方ないので、全てのページをUTF-8に変換してアップロードしました。
一応、解決しました。

バリュードメインから再度、返答がありました。

.htaccessでの改善は難しい状況でございました。

という事です。最低です。

2022年9月14日

SSIでの最終更新時が表示されなくなりました。
仕方ないので、PHPを使っての表示に変更しました。
同じ階層以下の全てのページをUTF-8に変換してアップロードしました。
ページが600ページくらいあったので大変な作業でした。
最初はホームページビルダーを使っていたのですが、面倒になって、途中でエディターで変換したのですが、
<meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”>

<META http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”>

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
に書き換えるのを忘れて、文字化けが出て大変でした。
GepReplaceというフリーソフトで一括で書き換えしました。

.htaccess が動作していないのかもしれません。

2022年9月15日

PHPのプログラムの日本語が文字化けするようになりました。
UTF-8に設定して、UTF-8形式で保存しているのにShift_JISで表示されているようです。
最近、バリュードメインがcoreserverのサーバーをいじったのではないかと思います。
バリュードメインに問い合わせしました。

2022年9月16日

夜になって、やっと返事がきました。
ご連絡いただき誠にありがとうございます。
現在お問い合わせが込み合っており、対応に時間がかかっている状況で
ございますが、可能な限り迅速に回答させていただきます。
恐れ入りますが、今しばらくお待ちいただけますと幸いでございます。
以上簡単ではございますが、ご報告申し上げます。
その他ご不明な点がございましたら、お気軽にお問い合わせください。

2022年9月19日

相変わらずバリュードメインから返答がありません。
/public_html/.fast-cgi-bin  の php72.ini の
; http://php.net/default-charset
default_charset = “Shift_Jis”

; http://php.net/default-charset
default_charset = “UTF-8”
に変更したら解決しました。
いつのまに、変わってしまったのだろう?