0

調査タイプのデータを取得するWebアプリケーションを作成しています。ユーザーにはいくつかのファイルが提示され、質問があります。ユーザーは、データを歪めないことを期待して、ファイルのファイル名を知ることができてはなりません。

JPlayerインスタンスを配置するために空のdivが作成され、「location」属性をdivに追加したので、クライアント側でJPlayerインスタンスを設定するときに、JPlayerは再生する.wavを認識します。

 <div id="jquery_jplayer" class="jp-jplayer" location="sound.wav"></div> 

これは、再生するサウンドを設定するjavascriptの一部であり、ファイルの場所がdivからドラッグされていることを簡単に確認できます。

$("#jquery_jplayer").jPlayer("setMedia", {
    wav: $(this).attr("location")
});

基本的には、HTMLドキュメントから「sound.wav」を非表示にし、javascriptを動的に保つことを目的としています。難読化と難読化解除の間の変換ファイルが可能である可能性がありますが、これを動的に保つとよいでしょう。

4

1 に答える 1

3

ビューアからロジックを本当に隠したい場合は、クライアント側のjavascriptではなく、サーバー側で行う必要があります。クライアント側のコードで起こっていることの分析を「複雑にする」ことはできますが、それを本当に隠すことはできません。

難読化についてさらにサポートが必要な場合は、実際に何をしようとしているのかをより適切に説明する必要があります。現在の説明では十分な情報が提供されていないようです。このファイルパスは何ですか?何に使われているの?なぜそれを隠す必要があるのですか?

本当に必要なのがサウンドファイル名を難読化および難読化解除するJavascript関数だけである場合、どの程度精巧に取得したいかに応じて、Googleで多くのオプションを見つけることができます。ここでの私の推測では、決定されたチートはだまされないので(すべてのコードは難読化を解除するためにあるため)、実際にやろうとしているのは、一見しただけで自明ではないようにすることです。したがって、どのような単純なアルゴリズムでもかまいません。

すでにjQueryを使用しているので、単純な文字列の難読化を行うjQueryを次に示します:http://plugins.jquery.com/project/RotationalStringObfuscator。サーバーが各ファイル名を何に設定するかを記録するために、ある種のテストアプリで難読化ツールを自分で実行し、実際にファイル名を使用する場合はクライアントでその逆を実行する必要があります。

あなたが私に尋ねるなら、より良い解決策は、ファイル名に最初から意味のない名前を付けることです。これは395678264.wavのような名前になり、(サーバーとクライアントの両方で)そのように使用します。そうすると、その名前は詮索する人には無意味になります。これは実際のファイル名であるため、難読化解除や変換テーブルは必要ありません。

于 2011-07-22T19:40:00.330 に答える