Monthly Archives: 3月 2008

小ネタ:セコムのSSL証明書ステッカー表示のJavascript

書く迄もない小ネタだけどもメモ。

SSLサーバ証明書用Webステッカーご利用について【セコム】 で書いてある、「FlashとGifイメージでの掲載の場合(推奨)」のJavascriptがイケてなかった、というか設定するのに数カ所同じ事を修正するので、ちょっと手を加えてみた。

secom.js の中身↓

// Custom By Garyu@CGFM (2008.03.28)
//--- Config ------
var Req_ID = "1234567890";	// 仮契約コード(数字10桁)
var GIF = "****/B0****_large.gif";	//GIFのパス
var SWF = "****/B0****_flash.swf";	//SWFのパス
var W = "88";	//  width	(GIF・SWF共通) :サイズ[大]の数値
var H ="145";	// height	(GIF・SWF共通) :サイズ[大]の数値
var TransparentFlag = 1;	// 0: false(背景色が有効に) 1:true (背景を透明に)
var BgColor ="#ffffff";	// 背景色

//-----------------
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
	var words = navigator.plugins["Shockwave Flash"].description.split(" ");
	for (var i = 0; i < words.length; ++i)
	{
		if (isNaN(parseInt(words[i])))
		continue;
		var MM_PluginVersion = words[i];
	}
	var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0
&& (navigator.appVersion.indexOf("Win") != -1)) {
	document.write('<scr' + 'ipt language="VBscript" type="text/vbscript"\>\n'); //FS hide this from IE4.5 Mac by splitting the tag
	document.write('on error resume next \n');
	document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
	document.write('</scr' + 'ipt>\n');
}
if ( MM_FlashCanPlay ) {
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
	document.write(' codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ');
	document.write('  id="PfWf" width="' + W + '" height="' + H + '" align="">');
	document.write('  <param name="movie" value="' + SWF + '" />');
	document.write('  <param name="FlashVars" value="Req_ID=' + Req_ID + '" />');
	document.write('  <param name="quality" value="high" />');
	document.write('  <param name="bgcolor" value="'+ BgColor +'" />');
	if(TransparentFlag) document.write('  <param name="wmode" value="transparent" />');
	document.write('  <embed src="' + SWF + '" flashvars="Req_ID=' + Req_ID + '"');
	document.write('     quality="high" bgcolor="'+ BgColor +'"');
	if(TransparentFlag) document.write('     wmode="transparent"');
	document.write('     swLiveConnect="FALSE" width="' + W + '" height="' + H + '" name="PfWe" align=""');
	document.write('     type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer">');
	document.write('  </embed>');
	document.write(' </object>'); } else{
	document.write('<form action="https://www.login.secomtrust.net/customer/customer/pfw/CertificationPage.do" name="CertificationPageForm" method="post" target="_blank" style="margin:0px;">');
	document.write('  <input type="image" src="' + GIF + '" width="' + W + '" height="' + H + '" name="Sticker" alt="クリックして証明書の内容をご確認ください" oncontextmenu="return false" />');
	document.write('  <input type="hidden" name="Req_ID" value="' + Req_ID + '" />');
	document.write('</form>');
}

secom.js のダウンロードはこちら

公開されてるサンプルのJSだとXHTMLの閉じタグ< />が無かったりしたのでその辺も修正。

直した方がいいだろうなーと思う所

  • 吐き出してるHTMLタグでembed使ってる(XHTMLなら直した方がいい)
  • タグ名が大文字

JSで書き出されるHTMLなので、まー今回はこのままで。今度使う時にでも修正しよう。

追記 2008/10/17)
・コメントの指摘から閉じタグの表記ミス修正

この投稿にタグはありません。

久々にCD買った

【ヴィレヴァン限定盤】黒船のジャズ/PE’Z


2,100円(税込)

REALism(初回限定盤)(DVD付)

REALism(初回限定盤)(DVD付) [CD+DVD] [Limited Edition]

REALism(初回限定盤)(DVD付)

↑買ったらDVDが付いてて、レコーディング風景が。
これも見てカッコ良かったのでテンションあがった。

最近、作業中に聴くBGMがマンネリ化して作業効率が目に見えて落ちていたので、久々にCDを買いたい衝動に。
それで気分転換も兼ねて近所のヴィレッジヴァンガードへ。

改めて新鮮に感じたのが店頭で試聴する事。全曲聞けるので、ネットの数十秒の試聴よりもずっといいですね。
TUTAYAよりもヴィレッジヴァンガードの方が最近当たりが多い。
ヴィレッジヴァンガード限定版ってのもあるんだね、知らんかった。

年度末のラストスパートをこれら聴きながら乗り切ります。

この投稿にタグはありません。

Fold Category List – 該当カテゴリ以外を折りたたむプラグイン

便利なWordpressのプラグインを試せたのでメモ。

Fold Category Lis

このBlogでも実際に導入しています。
Wordpresのカテゴリを制御するプラグインで、該当カテゴリ以外は、子カテゴリ一覧が折り畳まれてる(非表示)になっててスマートになってます。

折り畳むといっても、Jsで動的に動作するとかじゃなくて、クリックしてのページ遷移した時の話です。
開いてるページの該当カテゴリの親カテゴリを、展開する(子カテゴリを見せる)形です。

例えば、下のカテゴリ構成で、開いてるページが[子カテゴリb]の場合、[親カテゴリA]だけが展開されるイメージです。
├[-]親カテゴリA
│├子カテゴリa
│└子カテゴリb ←この中のページを開いている
├[+] 親カテゴリB
└[+]親カテゴリC

Wordpressのデフォルトのカテゴリの表示機能だと全てのカテゴリを表示していまいますが、 これは子カテゴリの展開を切り替えられるので、ちょっとした時に便利です。

使い方はいたって簡単

  1. Fold Category Lisをダウンロードして解凍
  2. [fold-category-list.php]をWordpressのプラグインのフォルダにアップロード。
    ([(Wordpress)/wp-content/plugins/] の中です)
  3. 管理画面の[プラグイン]の一覧中に出ている[Fold Category List]を有効にする。
  4. テンプレートでカテゴリを表示してる部分を以下のように変更

<?php wp_list_cats ('引数'); ?>
↓変更
<?php wswwpx_fold_category_list ('引数'); ?>

これだけで動作しているはずです。

注意)

私が確認した環境は Wordpress ME2.1.3 です。
2.3以降では、カテゴリのデータベースの構成が変わっているので、動かないかもしれません。(未検証)

この投稿にタグはありません。

Google Custom Search EngineをSSL上でセキュリティ警告無しで使いたい

CSE(Google Custom Search Engine) をSSL領域でも使いたいのだけど、どうもセキュリティ警告が出てしまう。

Firefoxでは、右下の「鍵」アイコンに斜線が入って、「一部の接続が暗号化されてない」と出てしまう。

たぶん、CSEを使う時のソースコードで、外部JSを参照してるのが原因。

<!-- Google CSE Search Box Begins -->
<form action="http://" id="searchbox_*****">
<input type="hidden" name="cx" value="*****" />
<input type="hidden" name="cof" value="FORID:11" />
<input type="text" name="q" size="25" />
<input type="submit" name="sa" value="Search" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_**********"></script>
<!-- Google CSE Search Box Ends -->
(****は申請時に発行されるAPIキー)

解決策としては、この外部JSを外しても動作はするので、外せばいいっちゃ外せばいい。
ただ検索のinputの背景画像に[Google検索]って画像が出なくなるだけっぽい(他にも影響あるのかな?)

でもhttp参照してるのは、googleだけじゃなくて、普通のCSSやimgもたくさんある。

SSL領域はhttp参照できない、というかすると「一部暗号化されてない」とセキュリティ警告が出て、あんまり宜しくない。
物理的にサーバー上でhttp領域とhttps領域がディレクトリで分かれてる場合は、サイトを二つ管理するのと同じ事になるので非常に面倒臭い。

同じ領域でやってくれたら、サイト制作者としては非常に楽。
「http://***/hoge.css」にアクセスするのには、
「https://***/hoge.css」とするだけでいいから。(相対パスだったらそのまま)

.htaccessとかでリダイレクトさせたら、物理的に違う領域でも参照できるかな?
例えば、こんなサーバー領域があったとする。
[/home/www/] :http:での公開領域
[/home/www_ssl/] :https:での公開領域

https://***/hoge.css [/home/www_ssl/hoge.css] にアクセスすると、
[/home/www/hoge.css]を参照するようなイメージ。

うーん、良い方法ないかなー。

この投稿にタグはありません。

PiF&Fukuoka.pm合同勉強会に参加してきました

プログラマーでもない自分が参加するのは、とても場違いで自分が参加していいもんだろうかと気が引けていたのですが、参加して良かったです。
ギークな方々の集まる雰囲気?を味わえたのかも。

以下、徒然感想です。

  • @devworks のセキュリティの話は改めて勉強になった
    • ORMとかフレームワークには頼らずに、SQL文書ける事に超した事はないんだなー
    • 逆質疑応答が面白かった!
  • @hsmt の紹介してたGainerはすんごい面白そう!
  • サーバー管理はやっぱり大変なんだなー。餅は餅屋に任せるべきだ。
  • ライトニングトークの始まりの乾杯今回、「ピザとビール片手にライトニングトーク」は成功してたと思う。最初っからこのスタイルで初めても良かったかも。
    • やっぱりコーラはペプシなんだろうか
  • @cohtanのVIMのプレゼンには食い入って見てしまった。
    • VIMって習得コストがかかるってイメージで避けてたけど、実際に使ってる所を見ると印象が随分違う。あーいうツールは使ってる所を見る事が一番なのかもしれない。
    • 確かに使ってる所はかっこ良かった。
  • codecheck.inには、いろんなプログラム書いてる人達はどんどん参加すればいいと思うよ!
    • SVN使えて、実行環境もあって、コミットするだけで本番領域で動かせるって確かに魅力的。
  • AIRのコミュニティが春頃に本格的に始動する
    • 今度4月中旬ぐらいに「みかん」氏がAIRの勉強会をやるって!
  • ライトニングトークの始まりの乾杯 「一行野郎」は仕事にも使えそうだったので、スライドを公開して欲しい。
  • 恥ずかしながら僕も前にエントリーで書いた「西鉄APIが欲しい」ってのをスライドで話させてもらいました。
  • あ、また名刺交換するの忘れてた・・・。
  • 二次会?には行かずに仕事へと戻りました。
  • 熱気を感じられた事が何よりでした。

僕も何かの言語を呼吸するぐらいプログラムを書けるようになりたいです。

この投稿にタグはありません。