2013年11月12日火曜日

WordPressサイトにBasic認証を簡単にかけられるプラグイン「WP Basic Auth」

仕事で会社関係のサイトをWordPressで作成してると時々あるのは、制作途中のサイトを確認するためにIDとパスワードを知ってる人以外にアクセス出来ないようにしてほしいというリクエスト。
本来なら「Maintenance Mode」というプラグインがお薦めなんですが、手っ取り早くサクッとBasic認証だけかけたいという目的だけなら「WP Basic Auth」というプラグインがお薦めです。
 

「WP Basic Auth」とは


WordPressサイトにBasic認証をかけられるプラグインです。
そのWordPressで設定してるユーザーのIDとパスワードがそのまま使えるというのが便利なところです。


「WP Basic Auth」のインストールと設定


いつものようにダッシュボート→プラグイン→検索で「WP Basic Auth」 で検索すると表示されますので、インストールしてください



そのままプラグインを有効にするだけで何の設定もなく自動でBasic認証がかかります。
Basic認証用のIDとパスワードを発行するという機能も無いとてもシンプルなものです。



問題点というほどではないのですがBasic認証の性格上、画像やその他メディアファイルまでアクセス制限が出来るわけではないので、その点納得の上で使用するという感じでしょうか。
MaintenanceModeなどのプラグインと違って何らかの理由で短時間サイトを止めて確認作業をするというような使い方にピッタリです。
知っておいて損はないプラグインです。

2013年11月11日月曜日

問い合わせフォームやコメント欄経由のユーザーとの履歴を管理出来るプラグイン「Flamingo」

企業系のWordPressサイトを制作してると、クライアントから要望が意外と多いのが問い合わせメールをサーバで管理出来ないか?というものです。
確かに問い合わせフォームからのメールをPCに保存しておくのは良いのですが、もしそのデータが消失した場合を考えるとサーバに残す機能があるなら助かりますよね。

メールをCSV形式でサーバに保存する機能を持つフォームCGIもありますが、セキュリティを考えるとWebサーバ上に保存するのはかなりマズイのでなかなか使いどころが無いのですが、今回紹介するプラグインの「Flamingo」はデータベース上に保存するのセキュリティ的にはそれなりに高いものじゃないかと思います。

「Flamingo」とは

  1. 簡易的ながらCRM(顧客関係管理) 機能を実現出来る
  2. 問い合わせフォームから送信された内容とメールアドレスを管理出来る
  3. コメント欄に投稿されたメールアドレスを管理出来る(内容は管理不可)
  4. Contact Form 7との連携が可能 
とプラグイン一本で実現可能です。


「Flamingo」のインストールと設定


いつものようにダッシュボート→プラグイン→検索で「Flamingo」 で検索すると表示されますので、インストールしてください。



特に設定するところはありませんので、ダッシュボードにある「Flamingo」のメニューをクリックしてください。




「Flamingo」のアドレス帳


アドレス帳にはコメント欄と問い合わせフォームから送信されたメールアドレスが自動的に追加されています。(Flamingoインストール前のメールアドレスは追加されてませんので注意)




「Flamingo」の受信メッセージ


受信メッセージには問い合わせフォーム( Contact Form 7)から送信されたお問い合せ内容が自動で追加されています。該当部分をクリックするとメッセージ詳細画面に切り替わりお問い合せの内容が表示されます。



こうしてFlamingoを使ってみるとCRMとしてだけではなく、フォームのセキュリティ対策としてメールで送信するよりもDBに蓄えておくという方法として十分アリかなと思いますね。

 FlamingoはまだスタートしたばかりなのでCRMとしての機能も極々シンプルなものですが、今後の開発次第ではけっこう面白いプラグインになるかと思います。

2013年11月10日日曜日

ページをスクロールしてもウィジェットが追従してくるプラグイン「Q2W3 Fixed Widget」

最近ワリとよく見かけるのがブログの広告やメニュー、ソーシャルメディアのボタン(いいね!など)がブラウザのスクロールに追従してくるというしかけ。
縦に長いページなどはけっこう効果があるみたいですが、いざやるとなるとjquery(sticky)の実装などかなり面倒くさいものです。
しかし!そこはWordPress。こんなプラグインあったらいいのにな・・というのはたいてい誰かが作ってくれたりしています。しかも簡単に設置・設定できるありがたい「Q2W3 Fixed Widget」を紹介します。


「Q2W3 Fixed Widget」とは


左右のウィジェットエリアにあるウィジェットを固定(正確にはスクロールに追従)させる機能を簡単に設定できるプラグインです。ウィジェットエリア全体ではなく、特定(複数)のウィジェットを追従するように出来ます。


「Q2W3 Fixed Widget」のインストールと設定


いつも通りダッシュボート→プラグイン→検索で「Q2W3 Fixed Widget」 で検索すると表示されますので、インストールしてください。



基本的には細かい設定無しでよれればインストールするだけで使えるようになっています。
外観からウィジェットへ移動して固定したいウィジェットをクリックすると「Fixed Widget」というボタンが追加されているのがわかると思います。そのボタンにチェックを入れて保存するとOKです。



細かい設定は外観にFixed Widget Optionsという設定画面が表示されるようになっていますので、トップのマージンやボトムマージンなどが設定出来るようになっています。



このようにプラグインをインストールして追従させたいウィジェットのチェックボタンをクリックするだけで実装出来るのはさすがWordPressというところです。

ただバナー広告はオリジナルのものなら大丈夫ですが、GoogleAdsenseは規約違反なので止めておいたほうが良いと思います。個人的にこのプラグインを生かすならサイドメニューとソーシャルメディア関係のボタンを追従させるかなと思います。

 jqueryの実装で悩んだり上手く行かなくて悩んでいる方に「Q2W3 Fixed Widget」はオススメです!

2013年11月9日土曜日

WordPressの不正ログイン対策プラグイン「Simple Login Lockdown」で試行回数を制限

WordPressの乗っ取り対策として有効なのが不正ログイン対策プラグインで試行回数を制限するというものです。
ログイン認証総当たりしようとして複数回数失敗するとログイン画面をロックするというもので、今回はそのプラグインの中でも使いやすい「Simple Login Lockdown」を紹介します。


「Simple Login Lockdown」とは

  1. ログイン認証のIDとパスワードを総当たりにする攻撃(ブルートフォースアタック)の防止が出来る
  2. ログインの試行回数を制限し、複数認証に失敗するとログイン画面をロックすることが出来る
  3. ログイン試行回数とロック解除までの時間を設定出来る
以上の機能をインストールと簡単な設定で利用出来ます。

「Simple Login Lockdown」の必要性


ロリポップを舞台に行われた大量のWordPressサイト乗っ取り事件からもわかるように、古典的な手口ではありますがログイン画面から総当たり攻撃というのは今でも被害が多いものです。
極端に言うとどんなにIDとパスワードを複雑なものにしても、総当たり攻撃を何時間もかけて行えばいつかは突破されてしまいます。(通常の乗っ取り犯はそこまでするなら次の標的を探しに行きますが・・・)

そんな総当たり対策に有効なのは「Simple Login Lockdown」のような複数回認証に失敗すると認証画面にロックがかかるというしくみです。
乗っ取り犯はこのサイトはダメだと思えばすぐ次の標的を探しに行くので、WordPressのセキュリティ対策にはかなり有効な手段です。


「Simple Login Lockdown」のインストールと設定


インストールはいつものとおりダッシュボード→プラグイン→新規追加で「Simple Login Lockdown」を検索してください。



設定はダッシュボードの設定→表示設定→で表示される画面の下部にSimple Login Lockdownという設定項目が追加されているのがわかると思います。

Login Attempt Limit:複数認証の回数を設定出来ます。5回から20回まで設定が可能です。
Login Lockdown Time:ロック解除までの時間が設定出来ます。30分から24時間まで設定出来ます。




個人的に回数は3回、ロック解除まで72時間くらいまでの設定があっても良いような気もしますが、とりあえずこれだけでも十分ですしもし正規ユーザーでも間違ったら・・・と思うとデフォルトの値もアリかなという気もします。

これだけで総当たりのアタックにかなり有効な対策となりますが、基本的にIDとパスワードは複雑なものにするのが有効な対策ですし、WordPressのバージョンアップやプラグインのバージョンアップなど小まめに行うのも有効な対策です。


まずは「Simple Login Lockdown」でセキュリティ対策という事で導入・設定が簡単なので超オススメです。

2013年11月8日金曜日

Contact Form 7に確認用チェックボックスを追加する方法

フォームプラグインの定番Contact Form 7ですが、仕様上確認画面がありません。フリーのCGIフォームなどではわりと実装されている確認画面なのでContact Form 7でもあれば嬉しのですが現状ではなかなか難しいようです。

とはいえ、確認画面が出ないなら出ないなりのやり方というのがありまして、その一つに確認用チェックボックスを追加するという方法がけっこう効果ありなので皆さんにご紹介。


 確認用チェックボックスを追加とどんな効果がある?

  1. 心理的なものですが確認用チェックボックスがあることで送信内容を確認してもらえる
  2. 確認用チェックボックスにチェックを入れないと送信出来ないので入力途中にenterキーを押して間違って送信するという事が無くなる
  3. SPAMロボットが確認用チェックボックスに気づかない事が多く、迷惑メール防止にもなる
と設置が簡単なワリにけっこう色々と効果があります。


確認用チェックボックスを追加する方法


Contact Form 7の設定画面にたった一行の分を追加するだけです。

[checkbox* use_label_element "確認画面は表示されません。上記内容にて送信しますので、よろしければチェックを入れてください。"]

確認画面は〜以降の文章は適当にアレンジしても大丈夫です。



設定画面で上記の一行を追加して保存すれば作業は終了です。フォームを設定してるページにアクセスしてテストして動作するかチェックすればOKです。



 たったこれだけでユーザーに内容をチェックしてもらえて、SPAM防止にもなるなら設置しない手はないと思います。Contact Form 7でフォームを設置したらまずこの確認用チェックボックスも追加してみてください。オススメです。

2013年11月7日木曜日

contact form 7に通し番号をつけられるプラグイン「contact-form-7-increment-number」

contact form 7といえばWordPressのフォームに使われる定番のプラグインで、圧倒的なシェアのせいか痒いところに手が届く連携プラグインが用意されています。

なかでも面白いのがcontact form 7に通し番号が付けられる「contact-form-7-increment-number」を紹介します。

「contact-form-7-increment-number」とは?


個人のブログなどではほとんど必要性を感じないのですが、企業向けサイトの問い合わせフォームに意外と需要があるのがこの通し番号をつけてくれというリクエスト。届いたメールなどを管理するには必要なのかもしれません。
そんなとき通し番号をつけるだけの連携プラグインが用意されているのはcontact form 7のユーザー数の多さって事なんでしょうね。やはり定番プラグインはこんな点で強いです。


 「contact-form-7-increment-number」のインストール。

このプラグインはダッシュボードのプラグイン検索では出て来ませんので下記サイトからダウンロードして手動でアップロードするか、ダウンロードしたファイルをダッシュボードのプラグインアップロードからアップロードしてください。

contact-form-7-increment-number

「contact-form-7-increment-number」の設定

ダッシュボード→設定→CF7通し番号というメニューが表示されていますので、そちらをクリックしてください。



 contact form 7通し番号オプションという設定画面が表示されます。



番号:通し番号かタイムスタンプが選べます。クライアントの希望や自分の好みで選択してください。個人的には通し番号のほうがメールの管理が楽かなとは思います。

桁数:通し番号を選択している場合に表示させる桁数を入力します。例えば001と表示したい場合は3と入力します。

接頭語:通し番号などの頭に入れたい文字が設定出来ます。自分の場合は無しで単純に番号にしてますが、例えば「WebForm」などをつけてもいいかもしれません。

以上、設定が終わったらcontact form 7のメールのメッセージ本文やタイトルに[cf7increment_number]をつけてやるだけで通し番号の入ったメールが届くようになります。

contact form 7はWordPressの定番プラグインのためか、この他にも沢山の補助的な連携プラグインなどが有志の皆さんの手で作られています。
WordPressが使えるCMSになってきたのも、こうした有志の皆さんのお陰じゃないかと思っています。


2013年11月5日火曜日

AkismetでさらなるSPAM防止をしよう!

WordPressを使ってサイトを公開してると毎日のようにContact Form 7経由でSPAMが来るわけでして、メールでSPAMを消去するのが毎朝の日課という人も多いと思います。

先日はContact Form 7 Honeypot プラグインを使ったSPAM防止対策エントリーを書いたのですが、もっとお手軽に・HoneypotとペアでさらなるSPAM防止が出来るAkismetを使った方法をご紹介します。


Akismet によるスパムフィルタリング


AkismetはWordPressにデフォルトでインストールされているプラグインの一つで、本来はコメント欄に書き込むSPAMフィルタです。これをContact Form 7にも使おうというものです。

使い方はこれはもう簡単です。まずはAkismetを有効化してください。Akismetの有効化やAPIキーの入手はプラグイン画面の手順に沿ってやれば特に難しい事はありません。ちなみにAkismetのAPIキーは一度ゲットすると複数のサイトで使えるので便利です。

Contact Form 7 の設定で
akismet:author_email
などのオプションを追加していきます。

名前
[text* your-name akismet:author]

メールアドレス
[email* your-email akismet:author_email]

お問い合せ内容
[textarea* your-message akismet:author_url]

このような感じでAkismet 関連オプションをフォームの適切な項目に追加するだけでOKです。

試しに送信者の名前を「viagra-test-123」といういかにもな名前で送信してみてください。
ほぼ確実にSPAM判定されてフォームの送信は出来ないはずです。


Akismetを使ったSPAM対策はあまりに簡単でけっこう効果があるのでコレで終わり・・・という人もいるかと思いますが、念には念でContact Form 7 Honeypotと同時使用や、出来ればCAPTCHAも平行して使う事をオススメします。

WordPressの不正ログインも監視出来るログイン履歴保存プラグイン「狂骨」

つい最近もロリポップのWordPressが大量に乗っ取られた事件がありましたが、セキュリティ上ログインで使うIDとパスワードは複雑にしておいたほうが良いわけで、IDがadminのままなんて以ての外なわけです。
この手の乗っ取りですが意外と古典的な手段でログイン画面から総当たり的にIDとパスワードを入れてくるというものがあります。

そんなWordPressのログイン画面ですが、そんな乗っ取りの総当たりでもしかしたら侵入を許してしまったなんて事が簡単にわかるログイン履歴保存プラグインで「狂骨」というプラグインを今回紹介しようと思います。


ログイン履歴保存プラグイン「狂骨」とは


読んで字のごとく、WordPressのログイン履歴を保存するプラグインです。
乗っ取りのアタックの不正ログイン履歴も保存出来ますが、本来は複数のユーザーで管理するサイトの履歴保存というのがそもそもの目的かなと思います。


ログイン履歴保存プラグイン「狂骨」のインストール


ダッシュボードのプラグイン→新規追加画面で「Crazy Bone」の名前で検索してください。
漢字の「狂骨」で検索しても出て来ませんので注意です。
検索で出て来たらそのままいつものようにインストールし有効化してください。




ログイン履歴保存プラグイン「狂骨」の設定


設定は特にありません。有効化すれば何も設定する必要はありません。


ログイン履歴保存プラグイン「狂骨」の履歴画面を見る


ダッシュボード→ユーザーの中に「履歴」というメニューが出来てると思います。
そこをクリックするとログイン履歴画面が表示されます。



通常ならこのように管理人の履歴だけが表示されると思います。



しかし数日もするとこのように「不明」ユーザーが これだけ毎日不正アタックに来るというわけです。




プラグインをどう活用するか


不正なログイン履歴を定期的にチェックして、もしステータスがloginになっていたら侵入されているのは確実なのでサイトのチェックをしてバックアップ、IDやパスワードをさらに強固なものにするくらいはやったほうが良いと思います。
とは言え、login_errorばかりでも安心出来ませんから、IDとパスワードは月イチくらい定期的に変更したほうが良いかと思います。

狂骨プラグインでサイトが重くなるという事もありませんので、とりあえず入れてチェックするような体制にしておいたほうが良いと思います。コレはオススメなプラグインです。




2013年11月1日金曜日

WordPressサイトの丸ごとバックアップに便利なのが「SiteSucker」

WordPressサイトに何かあったときの為にデータベースや画像ファイル・プラグインなどのバックアップは必須としても、いざサイトにトラブルがあったときに復旧作業中ずっとメンテナンス表示にしたくたい・・・というお客さんは多いと思います。
そんなときにけっこう使えるのがサイト丸ごとバックアップするツール 「SiteSucker」です


「SiteSucker」とは


その名のとおりサイトを丸ごと吸い出すという感じで、リンク先のPDFなども含めて丸ごとローカルにサイトを保存してくれます。
通常のhtmlサイトは当然、なんとWordPressのようなCMSサイトも吸い出してくれる優れもの。


「SiteSucker」のインストール


今回はMac用アプリケーションなのでAppStoreから「SiteSucker」で検索、表示されたらアイコンをクリックです。
無料アプリですがLion以下のOSではインストール出来ません。古いOSを使ってる人はこの際Mavericksにアップグレードしておくのも良いんじゃないでしょうか。




「SiteSucker」の使い方


アプリを立ち上げると素っ気ないインターフェイスのアプリ画面が表示されます。
上のWeb URLに吸い出したいサイトのURLを入力してダウンロードボタンを押すだけ。
下に吸い出す対象のファイルがズラリと表示されて次々とダウンロードされていくのがわかると思います。
普通に使うぶんにはこれだけです。ダウンロード先フォルダの設定など細かいところは設定画面で設定可能です。





 「SiteSucker」を使ったWordPressのバックアップ


WordPressを使ったサイトでも吸い出してくれるのが「SiteSucker」の便利なところ。
吸い出したデータをブラウザで開いてみるとその再現度にビックリすると思います。
さすがに問い合わせフォームなどは動きませんが、Javascriptを使ったスライドショーやタブの切り替えなどほぼ完璧で、オリジナルと比べても全然わからないくらいです。

裏技というほどではないですが、 WordPressを使ったサイトで「これどんなテーマで作ってるのかな?」と思ったら「SiteSucker」で吸ってみてください。テーマの名前がついたフォルダとその中にはcssや画像ファイルなどが入ってますから色々と参考になるかと思います。

 もしWordPressサイトにトラブルが発生したら、「SiteSucker」で吸い出しておいたバックアップファイルをまずはサーバにアップロード。復旧作業中はそのバックアップしておいたファイルを表示させておくというのはけっこうスマートじゃないかなって思います。

今回はMac用アプリですが、Windowsでも探せば同じようなアプリが沢山あると思いますから、皆さんも参考にしてみてください。