2010-11-28 4 views
0

SSJSに関する質問があります。サーバサイドJavaScript

SSJSでは、コードをユーザーから隠すことはできますか? 、私はこれをテストし

<html> 
<head> 
    <script runat="server"> 
    function getPassword(){ 
     var password = "myPass"; 
     return password; 
    } 
    </script> 
</head> 
<body> 
    <script> 
    alert(getPassword()); 
    </script> 
</body> 
</html> 

:彼らは、クライアント側の前に処理されているので、PHPのような

他のサーバーサイドの言語は、ブラウザ

私が何をしたいの小さな例のソースでは表示できませんパスワードはまだ表示されています

私の例は単純なCSJSなので、SSJSコードを隠すことは不可能ですか?

+0

に与えられたWikipediaのリストをチェックし、私は追加し 'にrunat =「サーバー」は'それサーバー作ることはないと思いますサイドのJavaScript。 JSコードをHTMLソースコードに埋め込むと、自動的にクライアント側になります。 –

答えて

0

T.J.の賢明な言葉に従う。それはのようになります。自分のスタイルに合わせて

<% @language=ecmascript %> 
<% 
    function getPassword(){ 
     var password = "myPass"; 
     return password; 
    } 
%> 
<html> 
<head> 
</head> 
<body> 
    <script> 
    alert('<%=getPassword()%>'); 
    </script> 
</body> 
</html> 

以上:クラウダー、あなたのファイルは次のように見て、Windowsベースのホスト(拡張子の.aspを持つので、ファイル)の古典的な.aspファイルのようになります。

<script language="jscript" runat="server"> 
// mind the 'language' property, it is required. 
// The script tag doesn't have to be 
// in the header of the html-document. 
    function getPassword(){ 
    var password = "myPass"; 
    return password; 
    } 
</script> 
<html> 
<head> 
</head> 
<body> 
    <script> 
    alert('<%=getPassword()%>'); 
    </script> 
</body> 
</html> 

サーバー側のスクリプトはページソースに表示されません。脇:<%=...%>は、他のホストのためにResponse.Write(...)

の省略形として見ることができ、あなたのプロバイダまたはデビッドDorwardsの答え

0

はい、サーバー側のコードは、他のサーバー側の言語とまったく同じようにユーザーから隠すことができます。サーバー側のJavaScriptを理解できるサーバーを介して関連するHTMLファイルを提供する必要があり、そのサーバーを正しく設定する必要があります(デフォルトでは、.htmlファイルはおそらく事前処理されません。コードは.shtml,.asp,.aspxなど、実行するプラットフォームによって異なりますが、適切な設定であれば正しく処理することができます)。上記のコードをWebブラウザ経由で見ることができたなら、それらのステップの1つを逃してしまいました。

サーバーサイドJavaScriptには、他のサーバーサイド言語のメリットとデメリットがあります。サーバー側の言語でクライアントのブラウザのスクリプトを実行する(たとえば)ことはできません。そのため、多くのクライアント側のコードが表示されます。 (おそらくそれは明らかでした:-))

0

サーバサイドのJavaScriptはサーバ上でのみ利用可能ですが、クライアントに送信する前にPHPエンジンでPHPを実行する必要があるため、SSJSを実行する必要がありますそれを送信する前にJSエンジンを介して。

a list of such enginesはWikipediaで見つけることができますが、現在はnode.jsがおそらく最も人気があります。

runat="server"は、ASP.NET構造のIIRCです。そのルートを下りたい場合は、最初にASP.NETを使用する必要があります。あなたが持っている構文が正しいかどうかは分かりません。

+0

迅速な回答ありがとうございます。 通常の(共有、Linux)ホスティングは、SSJSをサポートしていますか? つまり、ほとんどのサイトでSSJSを実行できると仮定できますか? – Chielus

+0

@Chielusいいえ、node.jsは非常に新しく、プラットフォーム(SSJS)は若すぎてほとんどの人にサポートされていません。 – xj9

+0

サーバサイドJSは1996年以来、最近まで普及し始めていません。 – Quentin

関連する問題