電子書籍の厳選無料作品が豊富!

http://www11.plala.or.jp/ochiai/2nd/web_tech/wra …
こちらのサンプルデータを使い、ソースを隠蔽していています

URLから直にリファラ無し状態でアクセスしようとするとちゃんと防げるのですが
IEではリファラを与える簡単な方法がないのでいいのですが
chrome firefox(もしかしたら他のブラウザでも)のソースビューワで覗くと
外部ファイルを参照しているsrcにアンカーがふられて、そこからリファラ込でリクエストが送られているのか簡単に見られてしまって意味が無い状態になってしまいます
おそらくこれがあるためにIE以外のブラウザを弾くサンプルがあるんだと思いますが、アンカーをつけさせないようにソースを書く方法はありませんか?

※リファラを与えればダウンロードツールなどで落とせてしまうのは知っています

A 回答 (3件)

うーん、潔く隠蔽するのを諦めた方がいいと思うんですけどね…。



そもそもJavascriptを覗きたい人は、それなりの知識持っている人でしょうから、意味ない気がしますね。

ちなみに、IEでしか見れないって言われたら、私は95%見ません。
ブラウザ限定はユーザビリティ的に論外だと思います。

そもそも論ですが、Javascriptはクライアント側で実行されるため、どうやったとしてもクライアントはデータをダウンロードすることになるわけです。
そのため隠蔽は不可能でしょう。

改行やスペースを消す、変数名を短くするなどの難読化はサイズ縮小にもなりますし、かなりありだと思います(実際googleも縮小されてますし、jQueryなどにしても縮小版がおいてあります)。

以上参考になったら幸いです。

参考URL:http://ecs.amonya.com/javascript/

この回答への補足

ちょっと手間をかければ保存が可能だったりなど
そのあたりは理解しています
ですが、せっかく少し手間をかけて隠蔽をしたのに
ソースビューワから一発、と言うのがどうにも、と言う感じです
なのでソースビューワにリンクとして解釈されない書き方があったら、と考えていました

今回隠蔽しようとしていたものは、データテーブルなので
普通の難読化ではほとんど形が残ってしまって
意味があまりないものなのです

補足日時:2010/01/26 02:39
    • good
    • 0

普通のソースを隠したいという質問なら、ウェブとは何かの説教をして、一切アドバイスしないのですが、クイズのようなもので、答えがあらかじめ分かってしまったら面白くないという意味でしたら。


 この場合(HTML,JavaScript)は無理です。端末に中身をテキストで示して実行させることが目的なのですからね。
 方法は、CGI、java(JSではなくアップレット)、flashなどの技術を使うことになりますね。
 jsだけで実装したければ、面倒でもページを分割して、formの入力をQUERY_STRINGSに代入して次のページを読むとか・・・
    • good
    • 0

なるほど。


でもCGIが使える環境なのでしたら、最初からCGIを使えばいいと思います。

例えばクイズで、答えが見えるのを防ぎたい、でもいちいちCGIにリクエスト出すのにリロードなんてさせたくない、というのであれば、まさにAjaxがうってつけで、JavascriptからCGIを呼び出すようにすればよいでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!