• 締切済み

javascriptソースの秘匿

あるアプリのアプリIDを javascriptに書いた場合、ソース上にオンコーディングする形になるのですが、 そのソースをchrom等のデバッカー(F12)で表示をさせたくないのですが、 いい方法はありますでしょうか。 例 <html>  <head>   <title>TEST</title>   <script type="text/javascript" src="js/test.js">  </head> 上記html上からtest.jsを呼出 test.jsないで別のjsを呼び出したいと思ってます。 ※別のjsは単純に変数を設定したもの var key = xxxxxx; test.jsはデバッカーで見れてもいいのですが、別のjs(仮にtest2.js)は 見せない方法をご教授願えないでしょうか。

  • prr4e
  • お礼率48% (66/136)

みんなの回答

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.2

難読化するツールを使うという手もあります。もしくはPHPを使うか。

prr4e
質問者

お礼

ありがとうございます。 圧縮するか難読化するしかないですよね。

  • inshin
  • ベストアンサー率59% (13/22)
回答No.1

デバッガーもブラウザの機能の一部なので、test2.jsが見れないということはブラウザでそのファイルをダウンロードできない、つまり、test.jsからもそのファイルを読み込めないことになります。 よって、javascriptにアプリIDを書きたい場合、必然的に公開することになります。

prr4e
質問者

お礼

ありがとうございます。 一応key自体は、漏れても大丈夫なkeyなので問題ないですが、 できるなら秘匿化したいと思って伺ってみました。 やはり、jsに書く時点で公開って事になりますよね。 ありがとうございます。

関連するQ&A

  • このソースはJavaScriptですか?

    Webサイトの作成のためにJavascriptやJQueryについて勉強しようと思っており、いろんなサイトを調べてみたら、次のようなソースが書かれていることが多いです。 var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-746118-2']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); たぶんJavaScriptかJQueryだと思いますが、これは一体どのような命令文なのでしょうか? このソースを多くのサイトで使っているのならば、私も試してみたいと思っております。初心者ですが、宜しくお願い致します!!

  • JavaScriptをgoogle chromeで

    JavaScriptの学習を始めたのですが、最初で躓いてしまいました。 私はgoogle chromeを規定のブラウザとして使用しています。 test.htmlでの記述: <html> <head> <title>JavaScript test</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <body> <script type="text/javascript" src="test.js"> </script> </body> </html> test.jsでの記述: var num=[11,22,33,44,55]; var name=['test','test1','test2','test3','test4']; for(var i=0;i<5;i++){ document.write(name[i]+"の点数は"+num[i]+"です<br />"); } 期待していた表示は、 testの点数は11です test1の点数は22です test2の点数は33です test3の点数は44です test4の点数は55です という感じなのですが・・・google chromeでは tの点数は11です eの点数は22です sの点数は33です tの点数は44です ,の点数は55です と表示されてしまいます。 IEでは問題ありませんでした。 全てのブラウザで問題なく表示させるためには、 どのようにすればいいのでしょうか? ご教示願います。

  • JavaScript内にJavaScriptを読み込む方法

    HTML内に <script type="text/javascript" src="main.js"></script> という一行を追加すると、バナーが表示されるというスクリプトを作成しています。 main.jsは、 html = '<script language="JavaScript">'; html += 'var url0101 = "url01.xxx.jp";'; html += 'var url02 = "url02.oooo.jp";'; html += '</script>'; html += '<script language="JavaScript" src="http://xxx.xxxx.xxx/test.js"></script>'); html += '<script language="JavaScript">'; html += 'Function01("check")'; html += '</script>'; document.write(html); というような風になっており、 (1) 変数の宣言 ↓ (2) http://xxx.xxxx.xxx/test.jsの読み込み ↓ (3) (2)で読み込んだjs内の関数Function01を実行 という流れです。 FireFoxでは表示されましたが、IE6では (2)のjsを読み込む前に(3)のFunction01が実行され、 「オブジェクトを指定してください」のエラーが表示されてしまいます。 よい方法がありましたら教えていただけますでしょうか? よろしくお願いします。

  • JavaScript内にJavaScriptを読み込む方法

    HTML内に <script type=\"text/javascript\" src=\"main.js\"></script> という一行を追加すると、バナーが表示されるというスクリプトを作成しています。 main.jsは、 html = \'<script language=\"JavaScript\">\'; html += \'var url0101 = \"url01.xxx.jp\";\'; html += \'var url02 = \"url02.oooo.jp\";\'; html += \'</script>\'; html += \'<script language=\"JavaScript\" src=\"http://xxx.xxxx.xxx/test.js\"></script>\'); html += \'<script language=\"JavaScript\">\'; html += \'Function01(\"check\")\'; html += \'</script>\'; document.write(html); というような風になっており、 (1) 変数の宣言 ↓ (2) http://xxx.xxxx.xxx/test.jsの読み込み ↓ (3) (2)で読み込んだjs内の関数Function01を実行 という流れです。 FireFoxでは表示されましたが、IE6では (2)のjsを読み込む前に(3)のFunction01が実行され、 「オブジェクトを指定してください」のエラーが表示されてしまいます。 よい方法がありましたら教えていただけますでしょうか? よろしくお願いします。

  • このJavaScriptソースを解説して下さい

    JavaScript勉強中です。とあるサイトのソースの一部なのですが 何が書いてあるのかわかりません。 どなたか解説してください。 ----------ソースここから---------- <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-23877599-2']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> ----------ソースここまで---------- 全体的にわからないのですが、1行目だけでも教えてください。 var宣言で、論理和?(||)が使われてて、さらに配列?らしき括弧が続いてます。 これはなんという構文なのですか?

  • javascriptのクラスの処理について

    javascriptのクラスを利用した処理で分からない所がありますので 教えて下さい。 最初に 下記の「1.の方法」でhtml側にjavascriptを呼び出す記述を して動かしていましたが、「2.の方法」に変更しなければならなく なりました。 ところが、「2.の方法」でやりますと、メインのhtml側がフリーズ してしまいます。 調べてみますと、メモリーを食いつぶしていますので、何か永久ループの ような状態に陥っているようです。 こような場合、何かやり方がおかしいのでしょうか? ご存知の方がいらっしゃいましたら、ご教授お願いいたします。 === 1.の方法 ===(問題なく動きます)================= ---ソース(index1.html) <script type="text/javascript" src="js1.js"></script> <script type="text/javascript"> hoge.create( abc, "def"); </script> ---ソース(js1.js) var hoge = {   xxx: ~~,   yyy: ~~   create: function(val1,val2) {     ~略~ }; === 2.の方法 ===(フリーズしてしまいます)=========== ---ソース(index2.html) <script type="text/javascript" src="js2.js"></script> <script type="text/javascript"> hoge_sub(); </script> ---ソース(js2.js) function hoge_sub(){   hoge.create( abc, "def"); } var hoge = {   xxx: ~~,   yyy: ~~   create: function(val1,val2) {     ~略~ };

  • javascriptで困っています。教えてください

    以下のようにjavascriptの内容を書いた外部のテキストファイルを読み込んで、実行しようとしているのですが、うまくいきません。普通にjavascriptを読み込むのは分かっているのですが、このような方法ができないのでしょうか?よろしくお願いします。 <!doctype html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>無題ドキュメント</title> </head> <body> <div id="jsbox"></div> <script type="text/javascript"> var jsbox = document.getElementById("jsbox"); //非同期通信///////////////////////////////////////////// var xmlHttp; loadText(); function loadText(){ if (window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); }else{ if (window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else{ xmlHttp = null; } } xmlHttp.onreadystatechange = checkStatus; xmlHttp.open("GET", "http://xxxxxxxxxxxx/js_test.txt", true); xmlHttp.send(null); } function checkStatus(){ if (xmlHttp.readyState == 4 && xmlHttp.status == 200){ var str = xmlHttp.responseText;alert(str); jsbox.innerHTML = str; test_js(); } } ///////////////////////////////////////////////////////////////// </script> </body> </html> テキストファイルをhttp://xxxxxxxxxxxx/js_test.txtに置き、テキストファイルの内容が <script type="text/javascript"> function test_js(){ alert("test"); } </script>

  • Javascriptの外部サーバーからの読み込み(greybox)

    いつも参考にさせていただいてます。 greyboxを使ってページを表示したいのですが、 使っているサーバーはjsファイルなどがアップロードできない、CMSサービスのサイトなので、 別のレンタルサーバーにアップロードしたjsファイルを読み込んで動かしたところうまくいきません。 模範例では、 ----------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Sample</title> <link rel="stylesheet" href="greybox/gb_styles.css" type="text/css" media="all"> <script type="text/javascript"><!-- var GB_ROOT_DIR = "./greybox/"; // --></script> <script type="text/javascript" src="greybox/AJS.js"></script> <script type="text/javascript" src="greybox/AJS_fx.js"></script> <script type="text/javascript" src="greybox/gb_scripts.js"></script> </head> <body> <h1>GreyBox サンプル</h1> <a href="http://job.mycom.co.jp/" title="job" rel="gb_page[480,360]"> 毎日就職ナビのページ表示 </a> </body> </html> ----------------------------------- なのですが、パスを絶対パスに変えて ----------------------------------- <link rel="stylesheet" href="http://mydomain/greybox/gb_styles.css" type="text/css" media="all"> <script type="text/javascript"><!-- var GB_ROOT_DIR = "http://mydomain/greybox/"; // --></script> <script type="text/javascript" src="http://mydomain/greybox/AJS.js"></script> <script type="text/javascript" src="http://mydomain/greybox/AJS_fx.js"></script> <script type="text/javascript" src="greybox/http://mydomain/gb_scripts.js"></script> ----------------------------------- と変更しました。 成功例(jsファイル同一サーバー上):http://greybox.main.jp/test_ng/index2.html 失敗例(jsファイル別サーバー上):http://greybox.main.jp/test_ok/index1.html 対応方法をお教え下さい。よろしくお願い致します。

  • javascriptを2つ使うと1つの動きしかしません。

    初心者です。ホームページを作っています。 以下のように記述してjavascriptで2つの動きをしたいのですが1つしか動きません。scriptをべつのファイルにしたのですが動かないのですが。どう記述したらいいのでしょうか? よろしくお願いします。 <html> <title></title> <head> <script language="javascript" src="test.js"></script> </head> <center> <body text="#000000" onLoad="timer1=setTimeout('fadein(0,100)',100)"> <br><br> <font size="8" color="green">ようこそマイホームページへ</font><br><br> <img src="top.jpg"><br><br> <a href="top.html"> <img src="main.jpg"></a> <form action="top.html"> </form> <script language="javascript" src="common.js"> </script> <a href="javascript:void(post())">3秒後に遷移します。画面が変わらない場合はクリックしてください</a> </center> </body> </html>

  • JavaScriptのソースについて

    マウスでクリックすると画像やテキストがスライドするようなサイトを作りたいのですが、 JavaScriptのソースがうまく機能しません。 いろいろ調べたり、試したりしたのですが、解決しなかったのでご回答頂けれと思います。 <script language="javascript" type="text/javascript" src="js/jquery.js"></script> <script language="javascript" type="text/javascript" src="js/jquery.flow.1.2.min.js"></script> <script language="javascript" type="text/javascript"> <!-- $(document).ready(function(){ $("#myController_h").jFlow({ slides: ".loves_slide_h", controller: ".jFlowControl_h", // must be class, use . sign slideWrapper : "#jFlowSlide_h", // must be id, use # sign selectedWrapper: "jFlowSelected", // just pure text, no sign width: "680px", height: "250px", duration: 400, prev: ".jFlowPrev_h", // must be class, use . sign next: ".jFlowNext_h" // must be class, use . sign }); }); //--> </script> ソースはこんな感じで作ってみたのですが、お分かりになる方がいらっしゃいましたらよろしくお願い致します。

専門家に質問してみよう