prefs.js editor
for NETSCAPE on MSIE

JAVA the Script
力技ジャバスクリプト集
 
ハッカージャパン21 vol.3 連動企画
スクリプトパラダイス(JAVA スクリプト編)
実践中級編 [ prefs.js editor ] 参照
Netscape(R) Communicator 4.7 及び
Microsoft(R) Internet Explorer 5.50 にて
WINDOWS 上で動作確認
■ ジャバスクリプト外部呼出しファイルを学ぼう
■ ネットスケープをカスタマイズしよう
■ ネスケユーザーさん、たまにはMSIEで・・・
SINCE 2000.12/08
 

 
 

PJE GENERATOR ver1.0 CLICK AT YOUR
OWN
RISK
CLICK AT YOUR
OWN
RISK
ADDRESS
※ WEB上からは MSIE でのみ動作します
 

このページのプログラムを実行する際には、下記説明をよくお読みになり 納得された上でのご使用をお願いいたします。 特にメールアドレスpopパスワード過去訪れたサイト等知られたくない場合は 実行しないでください。 また、このエディタによって修正後に prefs.js に上書き保存した場合、 内容によってはネットスケープが立ち上がらなくなるかもしれません。 必ず事前に prefs.js のバックアップをとりご自分で修復可能であることを確かめ、 或いはダミーの別アカウントを作成の上お試しください。

 
 

 P R O L O G U E
 
 
 ジャバスクリプト外部呼出しファイルを学ぼう

 

この企画はジャバスクリプト(特に外部呼出しファイル)について prefs.js editor という小さな JavaScript プログラムを通して考えてみようというものです。 とりあえず3つのベクトルを作ってみましたので、ご参考になればと願っています。
 
■ 01. FACADE
ネスケのカスタマイズ
prefs.js というのはネスケの設定ファイルです。 ウィンドウの大きさからメールアドレスや俳諧履歴などがこの中にかかれています。 このファイルをジャバスクリプトで読み出すことが出来るので、 フォームを使ったエディタもどきを作ってみました。
この章では prefs.js editor の使い方を中心に説明します。
ホームページを飾るというのとは違った軸での ジャバスクリプトの可能性を感じていただきたいと思います。
 
■ 02. PLAN
外部呼出しファイル
ところで prefs.js は何故読み込むことが出来るのでしょうか。 それは何故か prefs.js が外部呼出しファイル形式でかかれているからです。 よく使う関数をまとめてつくり共有ファイルとして使えるというこの機能は なんともエクサイティングです。
この章では prefs.js editor の動作原理を中心に説明します。
実に簡単なソースで実現できる ジャバスクリプトの容易さや便利さを知っていただきたいと思います。
 
■ 03. SECTION
WEBから見える
便利なのはいいのですがやはりそれなりきのリスクが伴います。 外部呼出しファイルは任意の場所から読み出せるので・・・ 特にMSIEなどはローカルファイルも覗けるわけです。 このサイトではWEBからの個人情報取得を大きなテーマに していることもあり見逃すわけには行きません。
この章では prefs.js editor の舞台裏(ダークな部分)を中心に考えて見ましょう。
ジャバスクリプトの危険性を実感して頂きたいと思います。


 

 01. F A C A D E
 
 
 prefs.js editor について

 


■ prefs.js とは?
prefs.js というのはネスケの設定ファイルです。 ウィンドウの大きさや位置から、メールアドレスやディレクトリ、 さらにはブラウザの俳諧履歴などがこの中にかかれています。
メモ帳などで開いて見てください通常は
C:\Program Files\Netscape     
     \Users\
***\prefs.js
***部分にはあなたの名前、 ハンドル、アカウント名等になっていると思います。

 
■ prefs.js editor
この prefs.js をジャバスクリプトで読み出すことが出来るので、 フォームを使った「エディタもどき」を作ってみました。 prefs.js editor は基本的にはローカルで動作します。 使うためには
PJE GENERATOR でローカルにダウンロードする必要があります。

 
 

 prefs.js editor をダウンロードする
 

 PJE GENERATOR 見本画像 動作しません 実物は上にあります

 
 

■ PJE GENERATOR のご利用方法
このフォームは CGI (PERL)prefs.js editor (HTML) を生成するものです。
MSIE でのみ動作します(笑)

[ SAMPLE on server ]
このボタンをクリックすると prefs.js のサンプルが表示されます。 これは当方のサーバーに用意してある見本です。

[ SEARCH me ]
このボタンをクリックすると あなたのPCにあると思われる prefs.js をサーチします。 もしあなたがネットスケープをデフォルトのディレクトリにインストールしており、 またユーザー名が一般的である場合のみヒットするでしょう。 見つからなかった場合は前出サンプルが表示されます。
[ INPUT by myself ]
このボタンはユーザー名が一般的でないとき、 或いは prefs.js が複数あってサーチ出来ない場合に使います。 ローカルアドレスをご自分で入れて(エクスプローラー等で探しアドレスをコピー) ボタンをクリックすると目的の prefs.js が表示されます。
 
 
■ prefs.js editor の保存
上記いずれの場合にしろ、prefs.js editor が起動するはずです。 目的の prefs.js が表示されている場合はそのままローカルの任意の場所に [ファイル] [名前をつけて保存] で prefs.html 等の名前で保存してください。 尚見本が表示されている場合でも、目的の prefs.js のあるフォルダに保存すれば 動作します。  
 

MSIEでの prefs.js editor の保存


 
 

 prefs.js を編集する

 


■ prefs.js editor のご利用方法
 

prefs.js editor が起動した

MSIE での使用を推奨

[ INPUT by myself ]
このボタンは複数の prefs.js を切換える場合に使います。 ローカルアドレスをご自分で入れて(エクスプローラー等で探しアドレスをコピー) ボタンをクリックすると目的の prefs.js が表示されます。 前出の同名のボタンと同じです。 CGI (PERL) により HTML が生成されます。

[ MAKE prefs.js ]
このボタンは必要箇所を修正の上クリックすると新たなウィンドウが立ち上がり、 修正後の prefs.js が書き出されます。 JavaScript により HTML が生成されます。
 

修正後 prefs.js を書き出した

 
■ prefs.js の保存について
保存は面倒ですが手動で明示的に行う必要があります。 (WEB上から勝手に保存できないのです)
準備: 現在起動中の全ての NETSCAPE を終了する。(現在の設定が prefs.js に書き出されます) エクスプローラ等でターゲットの prefs.js のバックアップを取ってください。 別な場所に移動するなり、名前を prefs_bak.js 等に変えるなり、 万が一ネスケが立ち上がらなくなったとき元に戻せるようにしてください。
■ 保存:MSIE(推奨)ご利用時
修正後の prefs.js の書き出された画面上で [右クリック] [ソースの表示] でメモ帳が起動しソースが表示されたら、 [ファイル] [名前をつけて保存] で保存ダイヤログが出る。 [ファイルの種類] >> [全てのファイル] として ターゲットの prefs.js を探しクリックすると、 [ファイル名][prefs.js] になる。 [文字コード] >> [ANSI] にして [保存]
 

■ 保存:Netscape ご利用時
ネスケでは prefs.js editor を一旦ローカルに保存しないと動作しません。 また、書き出した prefs.js を保存するときも一旦別の名前で保存し、 ネスケを終了後エクスプローラー等で prefs.js の名前を入れ替える必要があります。
 
修正後の prefs.js の書き出された画面上のメニューバー内 [ファイル] [名前をつけて保存] で保存ダイヤログが出る。 [ファイルの種類] >> [全てのファイル] として ターゲットの prefs.js を探し、クリックすると、 [ファイル名][prefs.js] になるが [prefs_pre.js] 等適当な名前に変えて、 [保存] 一旦ネスケを終了してエクスプローラ等で入れ替える。

 

 ネットスケープのカスタマイズ
 
 

■ カスタマイズできること
prefs.js の中身をメモ帳などで見ていただければわかると思いますが、
  • ブラウザの位置
  • ウィンドウの大きさ
  • 過去の俳諧履歴
  • キャッシュディレクトリ
  • メールアドレス
  • メールサーバー
  • メールディレクトリ

等々です。
その多くは Netscape 付属の User Profile Manager によって新たなアカウントを作ることで編集できます。推奨(笑)
もちろんメモ帳などで直接編集することが出来、それが一番速いです。

 
■ ほんとはどうやって使うか
以上この章では建前を並べてきましたが、実際この prefs.js editor を使って何をするかというと申し訳ないんですが、とりたててメリットがあるわけではありません。
ジャバスクリプトのお勉強という話です。

以降の章から prefs.js editor の本音が見え隠れしています。

 

 02. P L A N
 
 
 動 作 原 理
 
 
■ 外部呼出しファイル
  • prefs.js って何だ?
  • 実行ファイルじゃないか!!
  • prefs.js の働き
  • 読み出すことが出来る!
  • prefs.js editor ソース
    (コメントに説明付)
恐れ入りますがこの章の内容は
ハッカージャパン21
vol.3 (白夜書房 12/08 発売)
スクリプトパラダイス
(JAVA スクリプト編)

実践・中級編
== prefs.js Editor ==

をお読みください
 

 

 
 

 03. S E C T I O N
 
 
 MSIE なら WEB から見える

 


■ 外部呼出ファイルは特別
外部呼出しファイルは任意の場所から読み出せます。たとえばあなたが www.A.com というサーバーにホームページをお持ちのとき、ほかのサイトである www.B.com というところにあるスクリプトを外部呼出しファイルとして読み込み実行できるのです。
通常ブラウザにはスクリプトのセキュリティ制限があります。 フレームページなどをつくりふたつのサイトから各々別々のフレームにHTMLを読み込み 片一方のサイトからもう一方のサイトのプロパティを読み込んだり、 関数を実行したり出来ないようになっています。 たとえば
  ・file:///C|/Program Files/
クリックするとWINなら通常プログラムフォルダの
中身が見えることでしょう。 しかしこの表示内容に当サイトのジャバスクリプトがアクセスすることはできませんのでご安心を。
ところが外部呼出ファイルにはその制限はありません。 というよりその制限を適用してしまうと外部呼出しの魅力はなくなってしまうことでしょう。
 

■ MSIEの仕様
もうひとつ Netscape にはセキュリティによる制限があります。 外部呼出しファイルであろうとWEBからローカルファイルにアクセスできないというものです。
逆にいうと MSIE ならWEB上からローカルにある外部呼出しファイルにアクセスできるわけです。
便利なのはいいのですがやはりそれなりきのリスクが伴います。 このサイトではWEBからの個人情報取得を大きなテーマに していることもあり見逃すわけには行きません(笑)

 
■ VISITOR CHECKER への搭載
Visitor Checker シリーズについてご存知ない方はこちらをご覧ください。
  ・interNet POLICE
  ・Hack Anonym / Big-Z Project
WEB管理者としてはやはり
  「どんな方が自分のホームページを
   訪れてくれるだろうか」
ということに興味を持っていると思います。
上記のサイトでも
  「訪問者のメールアドレスは
   取得できないのか」
といったご質問をよくいただきます。しかし現在のところ下記の理由により搭載は見合わせております。
  • Netscape Messenger 利用者で
    且つ標準の場所にインストールしていて
    且つ一般的な名前で、
    且つMSIEで徘徊されている
    ような方はそれほど多くなく一通のメール処理にかかるサーバーの負担のわりに取得確立が低すぎる。
  • メールアドレスや徘徊履歴を断り無しに取得しても良いか判断がつかない。
 

 

 誰のせい?・それぞれの立場
 
 

■ Netescape の言い訳 (想定)
私たちはWEBからローカルの外部呼出しファイルが動くことは一種の セキュリティ・ホール だと認識しています。
せっかく Netescape Communicator ではローカルの [.js] を見えなくして そこに設定を書き込んでいるのに Micro$oft は我関せず、ものともせず開放しているのです。
だいたいジャバスクリプトにしても、私たちの開発したものを勝手に搭載して・・・ しかも仕様に沿っていない。大文字小文字の区別も出来ないようなエンジン積んで、 かと思うとわざと大文字で関数を書いたサイトをつくって Netescape にエラーを出させる・・・この辺でやめておきましょう。
 

■ Micro$oft の言い訳 (想定)
はーいみんな、今日もフリーズしてるかな? 僕たちの努力の甲斐あって世の中ほんとに便利になったよね。 世界中の人たちが僕の発明した「IT革命」のおかげで潤ってるのさ。 セキュリティ?っま、小さい穴をどうこう言っても始まらないでしょう。 だいたい大文字だと動かないなんてナンセンスだよ
 
■ Webmaster の言い訳
VISITOR CHECKER は便利に使っています。 自分のホームページへの関心度のバロメーターになりますし、 励みにもなります。メアドがわかるといいんですが・・・ え?メアドわかるとセキュリティとなんか関係あるんですかね? そんなことないでしょう!
それに前は簡単にどこでもメール送れたらしいですけど、 スパム対策とかで今はずいぶん厄介になりましたね。 でも一向にスパムが減る気配が無いのはどういうわけですかね。
 

■ 参考:JAVA のセキュリティ・ホール
最近発見さた JAVA のセキュリティ・ホールは凄いです(笑)
Netscape 4.74
   Brown Orifice セキュリティ・ホール
   同疑似体験 ( java-house )
Internet Explorer ver.4-5.5 (WIN)
   10 月に発覚したIE のセキュリティ・ホール
   同疑似体験 ( java-house )
これらに比べたら JavaScript はかわいいいもんですね。

 

 E P I L O G U E
 
 

経 過
  • 2000.11/10 原稿作成のため立ち上げる。
  • 2000.12/08 ハッカージャパン21 vol.3 発売

このプログラムは JAVA SCRIPT で書かれています
力技ジャバスクリプト集

このCGIサービスはPERLスクリプトで書かれています
力技CGIスクリプト集

ご 注 意
 
このプログラムの使用に関わる全ての損害について
当方は一切責任を負いません。
尚このサービスは当サーバーの設定上の都合、 或いは私の個人的な理由により予告無く中止する場合があります。

 

 

interNet POLICE
interNet POLICE

Hack Anonym / Big-Z Project
Hack Anonym / Big-Z Project

 

 


 
 ACCESS COUNTER ( SINCE '96 4/22 )
製作 : 東@力技ジャバスクリプト集
Copyright(c) 1996-2Kxx A@jScript.net All rights reserved.