掲示板のスパム対策

自前で設置している掲示板「Kapokの掲示板」が英語のスパムで荒らされてしまいましたので、いくつかの対策をしました。

実施したスパム対策

いくつかのスパム対策を実施しました。

不適切な文字列を含む投稿を受け付けない

書き込まれたスパム投稿には、薬剤の名前を含むものが多くありました。具体的にはviagra、cialis、levitra等です。

スパム対策として、これらの文字列を含む投稿を受け付けないようにしました。私の掲示板の投稿フォームはphpで動いているのですが、phpで下記のように、本文中にviagraを含む場合はexitして、掲示板のMySQLのデータベースに入れないようにしました。

strposは、引数1の中で引数2が最初に現れる位置を返す関数です。文字列が含まれなければfalseを返します。

参考:strpos関数(php)

複数の入力を必須とする

スパム投稿では意味不明なタグが1つのみついている投稿がすべてでした。

対策として、2つ以上の複数のタグ(半角スペース区切り)の入力を必須としました。

指定の文字列を含む投稿を受け付けないようにした時と同じく、phpのstrpos関数で、半角スペースが含まれる事を必須にしました。

タグの複数指定は、ユーザーの使い勝手を大きく制限するため、一般的には不適切な対策だと思います。ただ、私の掲示板を使っているのはほとんど私1人なので、この対策を取ることにしました。

その他のスパム対策

今回私の掲示板では対策を実施しませんでしたが、他にもスパム対策の方法はいくつかあるようです。

  • urlを変更する
  • キーワードの入力を必須とする
  • 日本語が含まれているかを確認する

対策概要:初心者でもできるスパム対策(spam measures)

今後もスパムが投稿されるようでしたら、これらの対策も実施していこうと思います。

自宅サーバーは高性能で安いので、心配事多いが、やめられない

このwebサイトは自宅サーバーから情報を発信しています。自宅サーバーはレンタルサーバーと比べて安くて高性能です。

一方で自宅サーバーは不安定で心配事が多く、やめたいのが本音です。とはいえ、自宅サーバーでの運用はメリットが大きすぎるために、なかなかレンタルサーバーに移行できません。

自宅サーバーのメリット

自宅サーバーでの運用は、レンタルサーバーでの運用と比べてメリットが多いです。

安くて高性能

自宅サーバーのメリットの1つは安くて高性能である点です。

自宅PCのメモリやハードディスクを専有できます。同じ性能をレンタルサーバーで出そうと思えば、月々かなりの金額がかかります。

具体的には私のPCのメモリは8Gで、これを専有しています。某レンタルサーバーのサービスは、同じ8Gメモリで月々6,580円のお値段です。比べれば、いかに自宅サーバーが性能の割に安くなるかを確認できます。

デスクトップ環境で使える

また、自宅サーバーはデスクトップ環境によるGUI操作が可能である点も魅力的です。多くのレンタルサーバーは端末でCUI操作しか出来ません。

たとえデスクトップ環境を導入したとしても、画面の情報をサーバー・端末の間で通信が必要で、それに時間がかかります。そのため、自宅PCのようにサクサクとは操作できないようです。

柔軟性が高い

自宅サーバーでの運用では、管理者権限でソフトウェアを管理できます。

つまり、利用するソフトウェアにシステム上の制約がありません。何でもできてしまう柔軟性は、自宅サーバー運用の魅力の1つです。

勉強になる

自宅サーバーでの運用は、コンピュターの勉強になります。

ブログを書くだけであれば、ブログ専用のサーバーを借りたり、ブログサービスを利用すれば良いですが、自宅サーバーであればブログシステムの構築を通して勉強ができます。

自宅サーバーのデメリット

メリットの大きい自宅サーバーですが、デメリットも大きいです。

コンピュターにとっては過酷な環境

自宅サーバーはコンピュターにとっては過酷な環境で稼動しています。

もしレンタルサーバーであれば、専門家が設計する、適切な環境(温度・湿度や埃の少なさ)が揃ったサーバールームで管理されていると期待できます。

一方で自宅サーバーは自宅にあります。放置していれば埃をかぶりますし、夏は高温多湿になります。電源コードに足を引っ掛けてサーバーを落としてしまった事があります。停電で運用を停止しますし、近所に雷が落ちれば壊れるかも知れません。

埃の管理を怠れば、自宅サーバーは火を噴いて燃えるという話も聞きます。これは重大な心配事の1つです。

不安定なURL

私の自宅サーバーは、webサーバーとしては不安定です。(全ての自宅サーバーが不安定な訳ではありません。)

私は固定IPアドレスを持っていないため、DDNSシステム(IPアドレスがコロコロ変わっても対応してくれる仕組み)を使わせて頂いています。それが時々不安定になります。

つまり、自宅サーバーは稼働していても、DDNSシステムがダウンしたために、webサイトが見えなくなる事が起こります。

本気でwebサイトを作ろうと思えば、固定IPアドレスの取得が必要です。

役には立たない

自宅サーバーでの勉強は、面白い反面、役には立たないようです。

OSをインストールしてサーバーをセットアップするという仕事は、昔は多かったようですが、KVM全盛の昨今では無いようです。

サーバーを借りてセットアップするという仕事の方が多いと聞きます。

やめたいがやめられない自宅サーバー

自宅サーバーでの運用をやめたいのが本音です。不安定で火事のリスクが心配です。

最近お試し期間があったために、実際にレンタルサーバーのサービスを利用してみました。

ですが、そこで分かった事は、自宅サーバーの良さでした。自宅サーバーのメリットは大きく、なかなかやめられません。

RSSを使い複数サイトの更新情報を一覧にする

複数のブログを運用していても、更新情報を一覧にしたい事があります。その際は、RSS(Really Simple Syndication / Rich Site Summary)を使い、一覧を自分のサイトに表示する事ができます。

FeedWindを使う

FeedWindは、新着記事表示のためのブログパーツです。

RSSを登録し、文字や色を設定後に、下方に表示されるコードをコピー&ペーストすれば利用できます。かなり細かな設定が可能です。記事設定の項目で、「もっと細かく設定する」をクリックすれば、並び順の並べ替え等も可能です。

また、下図のように記事中の画像も表示可能のようです。

FeedWindBlog201605

広告は無いに等しい程小さく(RSS Feed Widgetのリンクが表示されるだけです)、広告でサイトが雑多になる心配がありません。

ただし、広告ブロックツールでブロックされてしまうようです。私のFirefoxアドオンのBluhell Firewall2.5.3は、このブログパーツをブロックしてしまいます。

とは言え、それを踏まえてもFeedWindはとても良いツールです。

単眼RSSを使う

単眼RSSは、自サイトのRSSを登録して、リンク生成するサービスです。RSSを登録し、パラメータの設定をした後に生成される、指定のコードをブログに貼れば、運営サイトの更新情報の一覧を得られます。(FeedWindと同じ手順です。)

下図は、私のサイトの新着記事一覧として単眼RSSを使ってみた際のスクリーンキャプチャです。複数のサイトが一覧で出できます。下の方に、サイトへのリンクに加えて、広告が出てくる事があります。

※↓は画像です。新着記事より下の部分が単眼RSSが生成してくれたコンテンツです。
RSSnewEntryList201605

WordPressブログでデジカメで撮影した画像の向きがおかしくなってしまう時の対応

アップロードした、デジカメ・iPhone画像の向きがおかしい際の対応方法として、WordPressプラグインで補正する方法と、Windowsフリーソフトで向きを変えて画像を保存しておく方法があります。

状況

現象

デジカメやiPhoneで撮影画像を、ブログにアップロードした所、向きがおかしくなる(上下反転または90度回転)事があります。

原因

撮影した際に画像に保存される上下情報が、ExifのOrientation属性に保存されており、PCで表示される際はこの情報をもとに向きが補正され正しく表示されますが、画像ファイルとしては変な向きで保存されているために、このような事が起こります。

対応

WordPressプラグイン

WordPressでは、プラグイン「Image Rotation Repair」が動作すれば、画像の向きの問題は解決します。このプラグインは、アップロード時に自動的に向き情報を踏まえ、画像の向きを補正して保存してくれます。

ただし、残念ながら私の環境ではこのプラグインは動作しませんでした。サーバーのPHPの設定の問題のようですが、結局動作させる事ができませんでした。

Windowsフリーソフトで画像を回転させてしまう

WindowsのOSを使っているのであれば、JPEGファイル回転自動処理版 azure automaticで画像の向きを変更するのが良さそうです。

ドラッグ&ドロップで、撮影した画像の向きを一気に補正できます。

WordPressのプラグインの導入後に、管理画面(ダッシュボード)が真っ白になってしまった際の対応

プラグイン導入で、管理画面が真っ白になりました。この現象の対応の覚書を投稿します。

現象

WordPressで新しいプラグインをインストールした所、管理画面(ダッシュボード)が真っ白になり、何も表示されなくなりました。

原因は新しいプラグインの不整合のようです。ですが管理画面で何も出来ないため、プラグインを削除する事が出来ません。

対応

端末から原因となるプラグインを、削除しに行きます。

WordPressをインストールしたフォルダの、 /wp-content/plugins に問題のプラグインが格納されています。

私の環境では、これをフォルダごと削除してしまえば、管理画面が復帰しました。

もっと良い対応

調べてみた所、プラグインの不整合により管理画面が真っ白になる現象は、良く起こる事のようです。

対応としては、問題のプラグインのフォルダを削除はせず、フォルダ名を変更しておく、というのもあるようです。確かに後で戻す必要が出てきた場合に、データが残っていれば便利です。

この詳細は、WordPressの管理画面が真っ白になってしまったら(weblogy)で紹介されています。

ブログランキングに参加する

新規ブログを作成した後に、手早くアクセス数を増やすのにはランキングサイトへの登録が有効です。

なぜランキングサイトか?

前提:ブログのアクセスの内訳

ブログのアクセスを分類すれば、

  1. 検索エンジン(Googleなど)からの流入
  2. 他のWebサイトのリンクからの流入(organic linc:引用等のリンク/相互リンクなど)
  3. SNSからの流入

の3種類に大別できます。

そして、この3種類の内、新規ブログでは(コンテンツが余程良くない限り)検索エンジンやSNSからの流入を多くは見込めません。コンテンツの量が少ない事に起因して、検索エンジンからサイトの専門性を評価されず、SNSで話題になる確率も低いからです。

このような事から、新規ブログは、「誰からも見られない」という状態に陥る事があります。

被リンクを増やす

そこで、他のサイトからリンクを貼ってもらう事がアクセス数を増やすのに有効になります。

そのためにまず、ランキングサイトへ登録をします。そうすれば、取り急ぎ被リンクを得られます。記事を更新すれば新着記事欄に表示され、誰かの目にとまる事も起こりえます。

人気ブログでなくても、ランキングが低くても、新着記事欄にはブログ記事が表示されます。

これにより、「誰からもブログが見られない」状態を解消させます。

ランキングサイト

にほんブログ村

にほんブログ村は、ランキングサイトとして規模が大きく、ブログのジャンルも細分化されています。

ブログ村に登録すれば、とりあえず一安心です。

他のランキングサイト

他にもランキングサイトは多くあります。

人気ブログランキングFC2ブログランキングが有名です。

ブログ登録と設定

ブログ登録の流れ

アカウントを作成し、ブログを登録します。

その後ブログランキングサイトへのリンクをブログに貼り、ブログランキングサイトへ、ブログ更新の通知を送る設定をします。

ブログからブログランキングサイトへ更新の通知を行う方法は、ブログサービス毎に異なります。WordPressの場合は、

設定>投稿設定>更新情報サービス

にランキングサイトが指定するURLを追記します。

追加の設定

ブログのアイコン・ブログ投稿者のアイコンが設定出来るランキングサービスであれば、設定すべきです。

アイコンを指定すれば、デフォルトのアイコンよりも目立ちますので、クリックされやすくなるはずです。

運用

タイトルで釣る

ブログランキングサイトからの流入を増やすには、タイトルが重要です。キーワードを詰め込み、タイトルが含む情報量を増やしたり、思わず気になりクリックしたくなるようなタイトルと付けます。

WordPressサイトを複数立ち上げる

複数のWordPressサイトを立ち上げた際の覚書です。

前提

サーバーでは既に、1つ以上のWordPressが稼動しています。つまりこのメモは、WordPressサイトの稼動に必要な環境・設定は揃っている状態から、追加でWordPressをインストールし、導入する際の覚書です。

WordPressにはマルチサイト化の機能がありますが、これは利用しません。確かにマルチサイトの機能は便利ですが、デメリットとしてマルチサイトでは利用できないプラグインがあり、また私個人のサーバー環境では設定可能なURLの構造の柔軟性の問題があります。

そのため、WordPressを複数インストールする方向で進めました。

インストールするまで

準備

まずはWordPressの本体を取得します。WordPress.orgの日本語サイトからダウンロードできます。

解凍後に、所有者を変更します。所有者がデフォルトのままだと、ブラウザからアクセスができません。Ubuntu環境ではコマンドで、

とすれば良いです。

MySQLのデータベースは新規に作成しても良いですが、既存のデータベースを利用する事も可能です。

wp-config-sample.php を wp-config.php に名前を変更し、編集します。MySQLのデータベース名、ユーザー名、パスワードを入力します。

既存のMySQLのデータベースを再利用する際は、$table_prefix に、新しい文字列を付けておきます。

インストール

ブラウザからアクセスし、インストールします。

自分だけで使う場合は、ユーザー名・パスワードを、他のサイトと同じものにしておけば、管理が楽です。

最初の設定

記事の管理

Hello Worldの記事を消します。編集→ゴミ箱へ移動です。

固定ページにもサンプルページがあるので、これも消しておきます。

設定

設定>パーマリンク設定 で、記事のURLを指定できるようになります。

設定>ディスカッション でコメント関連の設定ができます。

「コメントの投稿者の名前とメールアドレスの入力を必須にする」のチェックを外せば、読者がコメントをつけるハードルが下がります。

「すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする」のチェックを外せば、頂いたコメントをすぐに表示できます。

プラグイン

個人的に取り急ぎ導入しておきたいのは、

Akismet, All In One SEO Pack, Broken Link Checker, Count per day, Crayon Syntax Highlighter, Easy Updates Manager, Internal Link Building, Quick Adsense, Simple Custom CSS, Table of Contents Plus, Tweet, Like, Google +1 and Share

あたりです。

All In One SEO Packの導入後は、ダッシュボードのAll in One SEOから一般設定を選択し、サイト情報等の設定をしておきます。また、このプラグインを利用すれば、記事のヘッダーの編集ができます。