SHTML--よくある質問(上級者用設定について)

  1. よく分からずに、上級者用設定を使ったら、右クリックが自由にできるページが出来てしまいました。なぜですか?

  2. JavaScriptのエラーを表示しないように設定するメリット・デメリットを教えてください。

  3. Windows版IE5.0以上にアクセスを限定する機能は、100%、ユーザーエージェントの偽装を見抜くことができるのですか?

  4. Windows版IE5.0以上にアクセスを限定する機能についてですが、IE7.0には対応していますか?

  5. Windows版IE5.0以上にアクセスを限定する機能についてですが、これだとMacは全アクセス禁止になります。「Windows版IEとSafariだけOK」とかにできませんか?

1.よく分からずに、上級者用設定を使ったら、右クリックが自由にできるページが出来てしまいました。なぜですか?

まず、製品版・体験版ともに明記してありますように、上級者用設定は、自分の選択が何を意味するのかを理解できる方のみご利用ください。ご相談の内容は、恐らく、通常ページであるのにもかかわらず、上級者用設定の中の「<frameset>タグを使っているページ」にチェックを入れられたからではないかと思います。

SHTMLでは「<frameset>」タグを使っているサイトとそうでないサイトでは大きく処理方法を変えています。もちろん、HTMLソース中に直接「<frameset〜>」を書かれている場合はSHTMLの方で自動認識し、適切な処理を行いますが、お客様の中には、より高度な書き方をされていて、HTML本体に「<frameset〜>」を直接書くのではなく、JavaScriptファイルの外部ファイル(JSファイル)内でdocument.writeする方式でフレーム・ページをブラウザに表示されている方もおられます。しかし、SHTMLではHTMLファイルのソースだけを見て暗号化しますので、ソースからリンクされているファイルについての中身は理解できません(相対リンク・絶対リンクの違いを問わず)。

そこで、自己申告の形で、「『<framset〜>』を使っています」と宣言してもらっています。これによりSHTMLは、暗号化対象のHTMLファイル内には「<frameset〜>」を持っていない場合でも、「<frameset〜>」使っているものとして適切な判断・処理ができるようになります。

そのような目的をもった機能なのですが、「<frameset〜>」を持たない普通のページでこのオプションを使われますと、ご相談のような不都合が発生します。理由を簡単に説明しますと、元々「<frameset〜>」を持っているページはいくらSHTMLを使っても右クリック禁止にできず、フレームのページで右クリック禁止にするためには、「<frame src="***.html"〜>」で指定されているHTMLファイルをそれぞれ右クリック禁止機能付きで暗号化していただく作業が必要です。(関連FAQ: フレームのページは、どのように暗号化すればいいのですか? 私のやり方では、どのブラウザでも右クリックが自由にできてしまいます。)そのため、逆にいいますと、「<frameset〜>」タグを持つページで右クリック禁止のためのJavaScriptを暗号化ソースの中に混ぜても意味がなく、ファイルサイズが大きくなるだけですから、「<frameset〜>」タグを持つページ及び、この上級者オプションを使って「<frameset〜>」タグを持つと宣言された場合、右クリック禁止のためのコードが暗号化ソースの中に盛り込まれることはありません。

ですから、この上級者用設定を正しく利用された場合には、元から「<frameset〜>」タグを持つページは右クリック禁止が有効にならないので有効になりません(「<frame src="***.html"〜>」で指定されているHTMLファイルを右クリック禁止機能付きで暗号化すれば、結果的には、そのページは右クリック禁止になっているような形になります。ただし、厳密に言えば「<frameset〜>」のページ自体が右クリック禁止になっているわけではありません。)。一方、間違って、この機能を選択してしまった場合は、本来右クリック禁止にできるはずなのに、できないことになります。ですから、繰り返しになりますが、上級者用設定は、自分の選択が何を意味するのかを理解できる方のみご利用ください。


  


2.JavaScriptのエラーを表示しないように設定するメリット・デメリットを教えてください。
例えば、Windows版Internet Explorerでは、JavaScriptのエラーが発生しますと、ステータス行に「」のようなマークが表示されます。これは正直、不恰好です。

また、ユーザーのブラウザの設定によっては、右のようなエラーメッセージが表示されることがあります。

SHTMLをご利用いただく上で、3種類のJavaScriptエラーのパターンが考えられます。
1.暗号化前からお客様のJavaScriptに問題がある場合。
2.SHTMLのJavaScriptに不具合がある場合。
3.お客様のJavaScriptとSHTMLのJavaScriptに相性問題(お互いに干渉するなど)が発生している場合。

当然ながら、「2.」「3.」についてはこのようなことが起きないように、弊社では最大限努力していますが、100%を保障することはできません。そこで、最悪の場合でも、JavaScriptのエラーをサイト訪問者に見せないようにさせたいということであれば、このオプションは役に立つかと思います。

また、「1.」の場合でも、ブラウザによって謎のエラー(ブラウザ自身のバグの場合もあります。)を出す場合があります。そのような場合に、とりあえず動作には問題が無いことも往々にしてございます。こういう時には、この上級者用設定を使って、とりあえずエラーを表面に出させないようにすることができれば、望ましいケースが多いです。これらがメリット面です。

一方、このエラーを表示しないオプションを利用されますと、JavaScriptのエラーが開発者の方にも分かりにくくなるために、デバッグが難しくなる可能性があります。主に、上の「1.」のケースになるかと思いますが、「不具合が発生しているのに、不具合が起こっていることにさえ気づくことができない」現象も起こりえます。ご利用に当たっては、このようなデメリット面もご注意ください。


  


3.Windows版IE5.0以上にアクセスを限定する機能は、100%、ユーザーエージェントの偽装を見抜くことができるのですか?
100%ではありません。どのようなケースかということは、皆様方のコンテンツを守るために、ここでは説明できません。

ただし、基本的には、ユーザーエージェント名(≒ブラウザが名乗る自分の名称)を見てチェックするようなことはしていませんので、Operaのようにユーザーエージェント名を詐称する機能を持つブラウザに対しても有効です。また、Sleipnirのver2.1までと、Lunascapeのver3.1までの場合は、本機能で判別が可能であることを確認しています。(両ブラウザは、頻繁にバージョンアップを繰り返しているようですので、将来にわたっても判別が可能かどうかは保障できません。)


  


4.Windows版IE5.0以上にアクセスを限定する機能についてですが、IE7.0には対応していますか?
対応しています。IE7がはじかれるというようなことはありません。(IE7のレンダリングエンジンを使ったSleipnirやLunascapeは、純粋なIE7との違いを識別し、はじきます。)

  


5.Windows版IE5.0以上にアクセスを限定する機能についてですが、これだとMacは全アクセス禁止になります。「Windows版IEとSafariだけOK」とかにできませんか?
この機能は元々、イントラネット内でのご使用を想定しての機能になっています。お客様のご利用環境によっては、Macでのアクセスも許可されたい場合もあるかと思いますが、その場合は、弊社サポートまでご相談ください。カスタマイズ版のご提供を検討させていただきます。

また、「Windows版IE6以上にだけアクセスを許可したい」「Firefoxでのアクセスも許可したい」「Operaからのアクセスだけを拒否するようにしたい」などの個別の設定も、同じく、カスタマイズ版としてご提案させていただくことが可能かご検討させていただきますので、まずは弊社サポートまでご連絡ください。