WordPressとxmlrpc.phpと大量アクセス

XREAにはアクセスログ機能がついている。
それを眺めていたら驚いた。
1日に数10アクセスだと思ったら、まあ、とんでもない。
/xmlrpc.php、/wp-login.phpに数1000オーダーのアクセスが記録されていた。
なるほど。これらへのアクセスなら自前のカウンターにも、Google Analyticsにも、アクセスが記録されないはずだよ。

wp-login.phpはWordPressの管理者にログインするためのページ。
xmlrpc.phpは使ったことがなかったので、グーグル先生に聞いてみたら、メールで投稿したりするためのもの。
どちらもWordPressの脆弱性を突くための定番の方法のようだ。

要するに、いろんなところからアタックされていて、それが異常な数のアクセス数になっていて、結局は000webhostを追い出された、とこういうことらしい。

_| ̄|○

ということでWordPressのセキュリティーの強化を試みた。すでにやっていたものも含めてまとめて。

public_html直下

(1) .htaccess、.htpasswd、wp-config.php、xmlrpc.phpの外部アクセスを禁止するように.htaccessを設定

<Files ~ "^(\.htaccess|\.htpasswd|wp-config\.php|xmlrpc\.php)$">
  Deny from all
</Files>

(2) wp-config.phpのパーミッションを0600(rw-------)に設定。(FTPクライアントなどを使って)

public_html/wp-admin

(1) アクセスできるホストを制限し、さらにBasic認証を行うように.htaccessを設定

Order Deny,Allow

Deny from all

Allow from xxx1.jp(注:使っている固定プロバイダー)
Allow from xxx2.jp(注:使っているモバイルプロバイダー)

Authname "Restricted"
Authtype Basic
AuthUserFile /virtual/xxxxxx/public_html/.htpasswd
require valid-user

サーバー再々々移転

舌の根も乾かぬうちにサーバー移転。
XFREEさんであるが、やっぱり、時々超重くてタイムアウトする場合がある。
重いんだけどロードアベレージは1~2くらい。
ロードアベレージの数字(PHPの sys_getloadavg()で取得)が意味がないのか、それとも別の原因で処理が引っかかるのか?

ということで別のサーバーへ移転することにした。
今度はGMOさんのXREA Free
広告が気になるがそれ以外は機能豊富。
PHPのパラメータ調整のやり方にちょっと手間取った。

.htaccessやuser.iniをいじるやり方が多いのだが、XREAの場合だとpublic_html/.fast-cgi-bin/php70.iniをいじる(PHP7.0を使っている場合)。さらにファイルをいじるだけだと不十分で、その後、コンパネで「PHP設定」ボタンを「頑張って」押す必要がある。「頑張って」というのも重要で、PHPのバージョンを一旦71にしてから70に戻す、とか設定の変更を教えてやらないとボタンがアクティブにならない。
そうそう変更するものではないとはいえ、ちょっと残念な仕様。
https://www.xrea.com/support/faq/tech/#tech05

サーバー再々移転

今年の3月に移転したばかりの000webhostであるが、アカウントを凍結されてしまった。

Hello ****** Admin,

We’ve noticed that your website ******.000webhostapp.com has received an unusual amount of requests (visits) recently. To ensure our users get the best possible service we monitor server usage and websites with high traffic are being suspended.

Currently, we only suspend websites that receive more than 60000 daily visits and 500 unique daily visits. Unfortunately, your website has been suspended as it received 87983 requests of which 264 were unique.

(意訳:アクセス多すぎ)

つまり、1日に87983回のアクセスがあり、上限(6万アクセス)を超えたので、アカウントをsuspendしたよ、とのこと。
普段の1日のアクセス数は数10回程度なので、8万回以上ものアクセスがあったとは信じがたいのだが。

実は11月にも同じ理由(it received 1941 requests of which 517 were unique)でsuspendされたのだが、その時には言い訳メールを書いてアカウントを復活してもらっていた。その時のメールに、

If you are suspended again you’ll have no choice but to upgrade to Hostinger (or leave our platform and use alternative free hosting) with your previous backup.

(意訳:今回は許してやる。でも次はないぞ。いいな?)

とあった。
どうあっても、有料サービス(Hostinger)に誘導したいのだろうと判断して、000webhostのこれ以上の使用は諦めた。

んで、サーバーをXFREEに戻してみた。
はて、さて。

【昔の日記】 サーバー再移転 / サーバー移転

Windows 10 フォルダーをカスタマイズしてもフォルダーの種類が保存されない

以下のレジストリーを削除して再起動。

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

参考URL:
https://answers.microsoft.com/ja-jp/windows/forum/all/windows10/a1b58577-71d5-4e73-9184-497fc0363afd

「変化の割合」

中学生の姪っ子から質問が来た。

関数y=x2について,xの値がaからa+2まで増加するときの変化の割合が7である。このとき,aの値を求めなさい。

句点が「。」、読点が「,」なんだ、というのはおいておいて、「変化の割合」というのが何を意味しているのかがわからず混乱した。

(y2 - y1) / y1 のことなのかな?
2次方程式になるが、2次方程式の解の公式は習っているということなので、解けなくはないだろう。

でもなんか気持ち悪くてしっくりこなかった。なので、「変化の割合」をググってみた。
そうしたところ、「変化の割合」というのは中学数学・高校数学の専門用語であることがわかった。

すなわち、(y2 - y1) / (x2 - x1) = Δy/Δx のことをそう表現するらしい。

へえ~

「傾き」と言ってもらう方が普通だと思うんだが、中学数学では「傾き」と「変化の割合」は別のもので、「傾き」は1次関数でのみ使える概念のようだ。

難しい~

参考URL:
https://juken-mikata.net/how-to/mathematics/rate-of-change.html
https://www.all5.jp/subject/116.html