月別アーカイブ: 2019年2月

WordPress コメント 画像認証 セキリティ強化 SiteGuard WP Plugin

SiteGuard-WP-Plugin

SI CAPTCHA Anti-Spamで画像認証をしていたのですが配布終了とのことでSiteGuard WP Pluginに切り替えました。

設定できる項目は画像の通り。

ログインするURLが変わってしまうのでブックマークを再度登録し直しましょう。
ログインするURLは自分で決めれるのでログインURLが漏出することはありません。

ログインするたびにメールが着たりするのでログインアラートはOFFにしてあります。

コメントやログインの画像認証はひらがな/英数字/無効とどれかひとつ選択するだけです。

WordPress PHP7にバージョンアップしたらエラー

HTTP500エラー

久しぶりにWPのダッシュボードにログインしたらPHP5.6は危険とのことでPHP7.1にバージョンアップしたらHTTP 500エラーで真っ白になり予期せぬ時間をとられてしまったので解決方法をまとめておきます。

デバッグモードに切り替えてエラー内容を確認する

wp-config.php

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', false); // trueに変更

Exec-PHPプラグインのエラーみたいです。
調べるとExec-PHPはもう使えないみたいでダウンロードもできません。
なのでとりあえずPHPのバージョンをPHP5.6に戻してダッシュボードにログインしExec-PHPを停止、削除を実行。

Exec-PHPを削除したことにより全ての記事内のPHPタグが仕様不可に!!

画像やURL等はドメインが変わっても動くようにSITE_URLと言う自分で定義した定数を使っていました。これがすべて使えなくなり、リンクは飛べなくなり画像は表示されない事態になりました。

更に調べてみるとショートコードを使うのが一般的との事でショートコードをJavaっぽく作成
functions.php

function getSiteURL() {
    return SITE_URL;
}
add_shortcode('SITE_URL', 'getSiteURL');

※SITE_URLはconst.phpという別ファイルを自分で作ってindex.phpでrequire_onceしています。SITE_URLの中身はhttps://office-goto.info/

これで記事内で[ SITE_URL]と記載するとPHP変数が使えます。
(SITE_URLの前に半角スペースを空けないとURLが展開されるため半角スペースを空けています。)
ただ記事数が多いものでデータベースをエクスポートして一括でPHPタグを[ SITE_URL]に書き換えてインポートし直しました。

PHP7.1にバージョンアップし動作確認後特に問題なく画像やリンクが機能しているため問題解決。