1

私は疑問を持っています。iframe コンポーネントにロードしたい難読化された html があります。iframe コンポーネントにロードする前に難読化を解除したいと考えています。出来ますか?そのようなJavaScriptツールはありますか?何か案は?

リンクを追加しました。

http://colddata.com/developers/online_tools/obfuscator.shtml#obfuscator_view

元のコード:

難読化されたコード:

<script type='text/javascript'>
<!--
var s="=iunm?=cpez?=ejw!dmbtt>#b#?=0ejw?=0cpez?=0iunm?";
m=""; for (i=0; i<s.length; i++) {  if(s.charCodeAt(i) == 28){    m+= '&';} else if (s.charCodeAt(i) == 23) {     m+= '!';} else {    m+=String.fromCharCode(s.charCodeAt(i)-1);    }}document.write(m);//-->
</script>

したがって、最終的にはこのようなファイルが作成されますが、iframe コンポーネントを読み込もうとすると、実際のコードが表示されます。難読化されたコードを使用したい理由は、難読化したいデバイスに保持しているので、Androidデバイスにいくつかの静的htmlを保持し、それらのhtmlをロードするためです。最初は暗号化を考えていました。しかし、これはパフォーマンスに影響を与えます。

4

2 に答える 2

2

jQuery を使用して iframe に HTML をロードするには:

var html = '<div>Your HTML</div>';
$("iframe").contents().find("body").html(html);

ただし、iframe のドメインとその親のドメインは一致する必要があります。

難読化については、そうしないでください。難読化を解除できれば、誰でも解除できます。

于 2012-09-21T08:37:49.650 に答える
0

シンプルなゲームで解決策を隠すなど、人々が OS でコンテンツをすばやく検索するのを防ぐ目的だけで難読化を行っている場合、これは最新のデバイスでは許容されます。

var htmlString = 'this is a test', base64EncodedString = '';

base64EncodedString = window.bToA( htmlString );

次に、次を使用して元に戻す必要があります。

htmlString = window.aToB( base64EncodedString );

その後、Pioul のメソッドを使用して iframe に配置できます。

ただし、人々が述べているように、他の理由 (適切なセキュリティ保護など) による難読化はかなり無意味です。アプリ コーダーの知識があれば、何をしても簡単に元に戻すことができます(特に、難読化に関係するすべてがクライアント側で機能しているため)。 .

于 2012-09-21T08:52:16.160 に答える