クロスプラットフォームブラウザテスト

本当にいつもお世話になっています。
ブラウザの互換性をチェックする、クロスプラットフォームブラウザテスト – Browsershots
チェックには時間がかかるので、私は一度「すべて解除」を選択してから
優先的に調べたいブラウザだけを5~6程度選んでチェックしています。
Dreamweaverで互換性をチェックしつつ、
ひとまず仕上がったところでこちらを利用させていただいています。
そして、このページはかなり・・感動します(涙)
http://browsershots.org/factories

「Feed2JS」にクロスサイトスクリプティングの脆弱性

かなーり古い(2007年)話なのですけれども。
情報処理推進機構:情報セキュリティ:
脆弱性関連情報取扱い:脆弱性関連情報の調査結果
http://www.ipa.go.jp/security/vuln/documents/2007/JVN_33218020.html
脆弱性は、Feed2JSのバージョン1.91とそれ以前のものが影響を受けるそうです。
インストールしてそのまま放置、というケースが少なくないような気がします。
ぜひぜひアップデートを!!

Feed2js-2.1b 日付の表示形式を変更

feed2js 2.1b で日付の表示形式を変更する方法です。
数年前に同様の記事を記載していますが、そちらはバージョンが 1.7。
そちらの記事でも変更はできるのですが・・・ご参考までに。
feed2js 2.1b。デフォルトだとこんなスタイル。

ブログタイトル
Tue, 14 Dec 2010 22:18:35 +0900

それを、こんなふうにしたいな・・・

ブログタイトル [ 2010-12-14 ]

ということで・・・
まず、タイトルと日付を並べて表示します。
 1.feed2js.php をテキストエディタで開き、205行目を表示。
 2.$str.= “document.write から始まる文の文末にある<br />を削除。
 3.すると、以下のようにタイトルと日付が並んで表示されます。

ブログタイトル Tue, 14 Dec 2010 22:18:35 +0900

次に、日付の表示を変更します。
 1.223行目を表示し、$pretty_date から始まる以下の文章を

$pretty_date = $item[‘pubdate’];

 2.次のように修正します。

$pretty_date = ‘ [ ‘ . date(“Y-m-d” ,strtotime($item[‘pubdate’])) . ‘ ] ‘;

これで完了です。

ハードディスク カリカリの正体はこれ

動作中のハードディスクを撮影したものです。
電源オン、削除、コピー&ペースト、クイックフォーマットなどを実行しています。
ファイルを保存したり、移動やコピーをしている時に聞こえる機械音、
ウィーン と カリカリカリ という音は、このタイミングで発生しているんですね。

アップロードするとファイルサイズが小さくなるのはなぜ?

受講生の方から、とても良い質問をいただきました。
 「アップロードすると、なぜファイルサイズが小さくなるのですか?」
確かにそうです。小さくなります。
では、確認してみましょう。
1. メモ帳を開いてエンターキーを1回押して保存。
2. ファイルサイズを確認して下さい。2バイトですよね?
3. そのファイルをアップロードしてファイルサイズを確認して下さい。
1バイト ではありませんか?
減ってますよね?
ファイルサイズが2バイトから1バイトに小さくなっています。
なぜでしょうか?
実は、[改行]って文字なんです。目には見えませんけれど。
(ついでに言うと、[空白]も、[タブ]も、文字なんです。)
で、文字にコードがあるように、改行にもコードがあります。
この改行のコードが、OSによって異なるんです。
私達がよく使っているのはWindows。
Webサーバは、ほとんどがUNIX系です。
ところで。
エンターキーを押すと、
カーソルが1つ下に移動して、さらにカーソルが先頭に移動しますよね?
つまり、改行(LF)と復帰(CR)です。
Windows では、
改行(LF)と 復帰(CR)の2つの連続したコードによって
改行が行われるのですが・・・
他のOS では、
改行(LF)または 復帰(CR)コード1つで
「行を改める」と「行頭へ戻る」という2 つの動作が同時に行われるんです。
だから、
エンターキーを1回押して保存したファイルのサイズが、
Windows だと2バイト。
Macintosh、Unix だと1バイト なんです。
ちょっとしたことなんですけど・・。
おもしろいですよね。

ソフト404エラー対策(ウェブマスターツール)

リダイレクトエラー対策 の結果、
翌日には、Yahoo! からクロールエラーが消えたのですが・・・。
Googleで新たなエラーが出現。「ソフト404エラー」です。
ソフト404エラー
ソフト404エラー – ウェブマスターツールヘルプ
つまり、404エラーページをカスタマイズしたために
HTTPレスポンスコードが変わってしまいましたよ、
クロールは 404 とは思っていませんよ、ということのようです。
そこで契約中のレンタルサーバ会社、チカッパ!に問い合わせると、
>> 「404 HTTP レスポンスコード」を返す場合は、
>> 必ず『相対パス』で設定していただく必要がございます。
とのこと。ちなみに、
>> 【http://から始まる作成した404エラーページのURL】で設定した場合は、
>> 「302 HTTP レスポンスコード」となりますので、ご注意をお願い致します。
とのこと。なるほどぉ。だから404エラーが出たのね・・。
さっそく、.htaccess ファイルを修正しました。
 ErrorDocument 404 http://www.misystem.jp/404.html
  ↓↓↓↓↓↓↓↓↓
 ErrorDocument 404 /404.html
アップロードして数日後、
Google から「ソフト404エラー」が消えました。やんや!(パチパチ)
ところで、ソフト404エラー – ウェブマスターツールヘルプ
読んでいて、とても楽しいヘルプでした。
特に、楽しかったところを抜粋します。

キリンが「犬」という名札を付けているようなものです。名札に犬と書かれていても、実際には犬ではありません。同様に、ページに 404 と表示されても、404 が返されたわけではありません。

今回の場合は、404 という名札をつけた 302 ですよ、ということだったのですね。
とっても楽しくて分かりやすいヘルプでした。

リダイレクトエラー対策(ウェブマスターツール)

サイトをリニューアルした直後から、Google ウェブマスターツール で、
クロールエラー(リダイレクトエラー)が出るのが気になっていました。
こんな感じです。

クロールを完了できませんでした(5)
詳細:リダイレクトエラー
http://www.misystem.jp/index.htm
http://www.misystem.jp/web.htm
http://www.misystem.jp/data_entry.htm
http://www.misystem.jp/profile.htm
http://www.misystem.jp/it.htm

確かに、http://www.misystem.jp/index.htm にアクセスすると
「404 NOT FOUND」になります。
当然です。実は、リニューアル時、
ファイルの拡張子をすべて「htm」から「html」にしたのです。
「クロールを完了できませんでした/リダイレクトエラー」って
リンクをたどってあなたのサーバに来たけれど、
この名前のファイルはなかったわよー。
404 NOT FOUND エラーが返されたわよー。
と、クローラーが教えてくれている・・ってことですよね?
そこで、サイト内リンクを隅から隅までチェック。
もしかすると、htm のままになっているリンクがあるのかも。
と、思いチェックしたのですが、ミスはなし。
・・・ということは。外部リンク?
となると、もう私にはどうすることもできません。
そこで、有効かどうかはまだ分からないのですが、
「.htaccess」で、リダイレクト先を指定してみることにしました。
「http://www.misystem.jp/index.htm」をたどってアクセスしてきたら
「http://www.misystem.jp/index.html」を開くよう指定する方法です。
やり方はとっても簡単。

1.メモ帳で以下のように記述。
  Redirect permanent /inedx.htm http://www.misystem.jp/index.html
2.「.htaccess」というファイル名で保存し、アップロード

確認してみました。
つい先ほどは、index.htm で404が返されていたのが、
今度は、きちんと index.html を表示してくれています。
「ページが見つかりません」ではなく、ちゃんとサイトが表示されます。
これをクローラーは、どう見てくれるのか・・・。
ついでに、404エラーのページもオリジナルのものを表示させてみました。
やり方は簡単。あらかじめ404.htmlというファイルを作成してアップロード。
その後、.htaccess に以下の1行追加するだけ。
ErrorDocument 404 http://www.misystem.jp/404.html
これで、味気ない「404 ページが見つかりません」が、やや楽しいものに。
しかも、目的のサイトに誘導することもできます。
果たして、これでクロールエラーはなくなるのか!?
なくなりますように!!

Byte-Order Mark found in UTF-8 File って?

XHTML 1.0 Strict で制作したページをW3C Markup Validation Service でチェック。
結果は、

This document was successfully checked as XHTML 1.0 Strict!
Passed, 1 warning(s)

むむ? 何が「warning」なのかな? と思いながら読み進めると・・

Byte-Order Mark found in UTF-8 File.
The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.

Byte-Order Mark???? ということで調べてみると。

BOMとは、UnicodeのUTF-16など16ビット幅のエンコーディング方式において、エンディアンを指定するためにファイルの先頭に記入される16ビットの値。
(中略)
BOMはエンディアンの判別だけでなく、文書がUnicodeで記述されているかどうかを判別するために用いられることもある。このため、エンディアンが関係ないUTF-8などの文書でも先頭にBOMがついている場合がある。

ふむ。先頭に不要な値がついているのですね。ということで、このBOMを削除する方法を検索。「Binary Editor BZ」で削除できるようなので、窓の杜からさっそくDLしてインストール。問題のファイルをこのソフトで開いてみると。
bom.gif
どうやら先頭の「EF BB BF」が Byte-Order Mark ・・らしい。
さっそく削除して、再度 Validate。ようやくPASS することができました。
めでたし、めでたし。なのですが、ここで新たな疑問が。
EF BB BF って何?