Win8 マルチディスプレイの消えたウィンドウを戻す

ノートPCを持ち出してアプリを起動すると「アレ?開かない?」、ってことがよくあります。家で外部ディスプレイ側で操作していたアプリだ。

Macではシングルに戻ると強制的にメインへ移動するので困ったことはないのですが、Windowsでは起動の状態設定はアプリ任せのためか、ユーザー数の少ないアプリほどUIは?のような。

えーと、消えたウィンドウを戻す手順が主題なのでWindowsの文句は後にします。

この記事「ウィンドウが画面外に出てしまったときの戻し方」を見ました。

以下手順を備忘録として箇条書きに。

  • タスクバーのアプリにマウスカーソルを移動
  • プレビューウィンドウ上で右クリックメニューから「移動」を実行
  • 矢印キーを一度押して(まだ未表示状態)、マウスでウィンドウを移動

本題は以上です。

さて、本題と異なるWindowsの文句を。

Note Padですが、Unix系の改行コードを認識するようにしてもバチは当たらないと思います。早く対応して下さい。

MS-DOS 2.0からMicrosoft OSのユーザーですが、今では使う開発マシンはMacになってしまいました。

PC-AT仕様のキーボードのコントロールキーの位置も含めて、Windowsは操作において開発者フレンドリーではないようです。

最近すっかりMicrosoft製品から離れてしまいました。

 

wp_mail メールを2通送信する怪

wp_mail()を利用した1回のコールで2通送信するという理由の分からない現象が発生、アレコレやっている内に正常に戻った(1通の送信)、という不思議な現象があったので書き留めておきます。

最初はプログラムミスで2度コールされたかと疑って確認しましたが、それはなかったでした。

メール送信する関数を他の機能でもコールしているのでそちらの方を実行したところ、そちらは1通しか送信されませんでした。データの誤りも確認しましたがそれも原因ではないようでした。

PHPのバージョンが5.3.29だったので5.4.35に変更して試してみましたが、やはり2通送信されました(さくらのレンタルサーバ)。

ところでChromeで管理画面からバージョンの切替えを実行すると、何故かログイン画面に移動してしまい、ログインし直してバージョンを確認しても切り替わっていませんでした。たまにこういうことが起こるので、操作はFirefoxから実行しました。

wp_mail()が原因かどうか確認するためmb_send_mail()に変更してみると、同じように2通送信されてしまいました。

そこでhttpデータを確認するためFirefoxのLive HTTP Headersアドオンを利用してキャプチャしてみましたが、同じセッションが2回繰り返されていることはありませんでした。

ところがです。この後の操作からmb_send_mail()も、元に戻したwp_mail()も正常に1通のみ送信するようになりました。

何が原因かは分かりません。こちらの手の届かない部分で発生した現象と考え、先に進むことにしました。

その後…

Chromeから操作すると、また2通送信されてしまいました。そこでFirefoxから操作してみましたが同様でした。再度Live HTTP Headersを操作すると、Firefoxからサイトをアクセスする限り2通送信されることはありませんでした。

 

ちょっと思い付いたので書き留めておこうかと

山での遭難についてふと思い付いたので書き留めておきます。

山で遭難する場合、その山行が次の3つの要素の合計を超えてしまった結果なのではないかと。

・装備
・技量
・体力

そしてこれらについて自分にどの位あるかという測定は、山行を繰り返す事でしか測り得ないと思うのでした。

ところで合計した理由ですが、まぁ誰でも分かる事ですが、ある要素は他の要素で補うことができると思ったからです。

最近山へ行ってないので、そのうちチャンスを伺って行きたいなぁ。

 

WordPress サクラインターネットcronでwp-cron実行

WordPressでスケジュールに合わせてメール送信機能を作るにはwp-cron機能を利用しますが、WordPress自身では定時動作ができないため外部からのアクセスが必要になります。

そこで、サクラインターネットのレンタルサーバー上でcrontabを利用して正確な時間で動作するようにするための設定方法を、備忘録として残します。

環境はスタンダード契約、WordPress4.1、PHP5.3 です。

crontabの設定方法

設定は実行日時と実行コマンドを設定すれば良いだけの話なのですが、PHPを実行するコマンドの設定に注意する必要がある。

設定例は次の通り。

/usr/local/bin/php /home/USER_DIRECTORY/FILE_NAME 1> /dev/null

環境変数を設定できるようだが、コマンドを絶対パスで指定すればそれで動作する。出力は「1> /dev/null」でnullデバイスへ。また、「cd /home/USER_DIRECTORY; 」としてコマンドを1行に続けて入力するのもOK。

WordPressの設定

wp-cronとtabcronで検索すると多くの記事が見つかるが、crontabを利用して「wp-cron.php」を呼び出す場合はwp-config.phpで「WP_DISABLE_CRON」を「true」に定義する必要があるようだ。理由は確認していないが、サーバー上のコマンド実行とインターネットからのアクセスが被ると不具合があるのではないかと思う。

なお忘れてはならない大事なことは、「wp_schedule_event」または「wp_schedule_single_event」で忘れずにcron動作するようにスケジューリングしておくこと。

ということでサーバーのコントロールパネル上で指定する実行コマンドは次のようになる。

/user/local/bin/php /home/USER_DIRECTORY/wp-cron.php 1> /dev/null

 

unkoログインは衛生センターへ回収された?

暫く落ち着いたように見えたブルートフォースアタックだが再び活性化したようで、また頻繁に攻撃を受けるようになった。

くそったれ!、と攻撃者に言ってみたいが相手はプログラムなので聞いてはくれないでしょう。

さてWordPressでブルートフォースアタックをする場合、その入り口はログインページから攻撃する方法とXML_RPCを利用する方法の2つあります。

XML_RPCを利用した攻撃の具体的な方法は、以下の当方のページにあります。
http://mtssb.mt-systems.jp/blog/wordpressでxmlrpcを使ったブルートフォースアタックについて

ログインするにはログイン名とパスワードが一致する必要があるため、どちらも推察し易いと、あっ!という間にクラッキングされてしまうため、ログイン名にrootやadminは利用しないように注意が促されています。が、隠したつもりでもWordPressを利用していると知られる場合があるのも事実です。

その辺の詳細は、以下の当方のページにあります。
http://mtssb.mt-systems.jp/blog/「author=xx」でユーザー名が分かる?穴を塞ぐには

WordPressは新規ユーザー登録時に利用が異なる3つの名前をログイン名で設定しますが、ログイン名を表示するのはもっての外なので対策をいくつかします。ところが、この内の1つが通常の管理画面から変更できず、そのまま放置すると漏れている状態になるのです。

そこで、その名前を「unko」に変更しておきました。で、とうとうその日がやって来たのです。そうです、

unkoによるログインチェックです。

以下がそのログ情報です。

xmlrpcのアクセスログ

xmlrpcのアクセスログ

繰り返すこと、155回のunkoでした(^o^)。

どこかのサーバーが乗っ取られて操作されているのでしょう、IPアドレスから見てみることにしました。すると、何もない海の上で、最近エボラで大変になっている地域の近くでした。

サーバーの位置情報

サーバーの位置情報

拡大してみます。

サーバーの位置情報を拡大

何となく更に拡大したところ、何か文字が表示されました。

位置情報を更に拡大すると

サーバーの位置情報を更に拡大すると

「Albert’s Liquid Waste」ってなんでしょう?

検索してみると、ありました。早速サイトを表示してみました。

検索した結果のページ

検索した結果のページ

何と、バキュームカーが表示されました。

こうして155回のunkoは無事に回収されました。環境は保全されたのです(爆笑)。

これって、クラッカーが意図的にしたのでしょうか?

乗っ取られたと思われるサーバーのスクリーンショットには、中国語で建設中のページが表示されました。こちらも早くトイレを完成させて下さい。

unko06