- ベストアンサー
HTML,JSの隠蔽
http://www11.plala.or.jp/ochiai/2nd/web_tech/wrap/index.htm こちらのサンプルデータを使い、ソースを隠蔽していています URLから直にリファラ無し状態でアクセスしようとするとちゃんと防げるのですが IEではリファラを与える簡単な方法がないのでいいのですが chrome firefox(もしかしたら他のブラウザでも)のソースビューワで覗くと 外部ファイルを参照しているsrcにアンカーがふられて、そこからリファラ込でリクエストが送られているのか簡単に見られてしまって意味が無い状態になってしまいます おそらくこれがあるためにIE以外のブラウザを弾くサンプルがあるんだと思いますが、アンカーをつけさせないようにソースを書く方法はありませんか? ※リファラを与えればダウンロードツールなどで落とせてしまうのは知っています
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
うーん、潔く隠蔽するのを諦めた方がいいと思うんですけどね…。 そもそもJavascriptを覗きたい人は、それなりの知識持っている人でしょうから、意味ない気がしますね。 ちなみに、IEでしか見れないって言われたら、私は95%見ません。 ブラウザ限定はユーザビリティ的に論外だと思います。 そもそも論ですが、Javascriptはクライアント側で実行されるため、どうやったとしてもクライアントはデータをダウンロードすることになるわけです。 そのため隠蔽は不可能でしょう。 改行やスペースを消す、変数名を短くするなどの難読化はサイズ縮小にもなりますし、かなりありだと思います(実際googleも縮小されてますし、jQueryなどにしても縮小版がおいてあります)。 以上参考になったら幸いです。
その他の回答 (2)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
普通のソースを隠したいという質問なら、ウェブとは何かの説教をして、一切アドバイスしないのですが、クイズのようなもので、答えがあらかじめ分かってしまったら面白くないという意味でしたら。 この場合(HTML,JavaScript)は無理です。端末に中身をテキストで示して実行させることが目的なのですからね。 方法は、CGI、java(JSではなくアップレット)、flashなどの技術を使うことになりますね。 jsだけで実装したければ、面倒でもページを分割して、formの入力をQUERY_STRINGSに代入して次のページを読むとか・・・
- LOHA
- ベストアンサー率52% (203/388)
なるほど。 でもCGIが使える環境なのでしたら、最初からCGIを使えばいいと思います。 例えばクイズで、答えが見えるのを防ぎたい、でもいちいちCGIにリクエスト出すのにリロードなんてさせたくない、というのであれば、まさにAjaxがうってつけで、JavascriptからCGIを呼び出すようにすればよいでしょう。
補足
ちょっと手間をかければ保存が可能だったりなど そのあたりは理解しています ですが、せっかく少し手間をかけて隠蔽をしたのに ソースビューワから一発、と言うのがどうにも、と言う感じです なのでソースビューワにリンクとして解釈されない書き方があったら、と考えていました 今回隠蔽しようとしていたものは、データテーブルなので 普通の難読化ではほとんど形が残ってしまって 意味があまりないものなのです