新しく質問する

HTML,JSの隠蔽

役に立った:3件
  • 質問者:mania11
  • 投稿日時:2010/01/26 01:50
  • 困り度:すぐに回答が欲しいです
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

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

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

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

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:3件)
  • 参考になった:0件

No.3ベストアンサー10pt

  • 回答者:ORUKA1951
  • 回答日時:2010/01/27 16:51

普通のソースを隠したいという質問なら、ウェブとは何かの説教をして、一切アドバイスしないのですが、クイズのようなもので、答えがあらかじめ分かってしまったら面白くないという意味でしたら。
 この場合(HTML,JavaScript)は無理です。端末に中身をテキストで示して実行させることが目的なのですからね。
 方法は、CGI、java(JSではなくアップレット)、flashなどの技術を使うことになりますね。
 jsだけで実装したければ、面倒でもページを分割して、formの入力をQUERY_STRINGSに代入して次のページを読むとか・・・

通報する

  • 参考になった:0件
  • 回答者:LOHA
  • 回答日時:2010/01/26 04:54

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

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

通報する

  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:LOHA
  • 回答日時:2010/01/26 02:29

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

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

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

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

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

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

通報する

この回答への補足

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

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

  
このQ&Aは役に立ちましたか?(役に立った:3件)

このページのトップへ

Facebook公式ページ

公式Twitter