-1
4

6 に答える 6

5

コードを画像にレンダリングして表示します。

于 2012-08-13T22:10:27.677 に答える
4

この CSS を使用して、選択を無効にすることができます。

pre {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

選択できないものをコピーするのは難しいです。

ただし、コメントが言及しているように、回避策はあります...

ここにデモがあります:

于 2012-08-13T22:13:15.583 に答える
3

ここでの他の手法と組み合わせて、「ソースの表示」が使いにくくなるようにコンテンツを HTML エンコードすることができます。例えば:

​He​​​​​​​​​​​​​​​​​​​​​llo ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​World​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

としてレンダリングします

Hello World

学生が、HTML でエンコードされたバージョンの 16 進文字をプレーン ASCII にデコードするプログラムを作成した場合は、追加の単位を与えてください。:)

于 2012-08-13T22:29:22.863 に答える
2

Not possible. You could display it inside a Flash movie, or as pre-rendered images sliced up into multiple smaller sections to prevent OCR, but then obvious workaround is to then take a screen capture and OCR that. In other words, it's easier to defeat any security system you put in place than it is to create the system in the first place

The attacker will ALWAYS have the upper hand, because you're handing them the keys to the vault by simply letting them view the protected content.

于 2012-08-13T22:08:04.260 に答える
0

目に見えない文字を HTML コードに挿入して、それをコピーした場合、構文エラーの原因となるすべての文字を削除するのは面倒ですが、テキスト エディターにコピーしない限り気付かないでしょう。それらは、実際のコード文字ごとにランダム化された文字になります。

可視コード:

function foo()

実際の HTML:

f!u#n%c^t&i*o(n) (f@o$o%(^)&

各記号は目に見えない Unicode 文字です。それらがいくつあるかはわかりませんが、ZERO WIDTH NO-BREAK SPACEを試してみたところ、うまくいくようでした. ご不便をおかけいたします。それが私たちにできる最善のことです。ご不便をおかけします。誰かがコードをコピーするのを確実に止める方法はありません。

明確にするために、ページを読んでいる人には最初の行が表示されます。テキストをテキスト エディターにコピーしたユーザーには、四角形が表示されるか、何も表示されず、コードはコンパイルされません。

于 2012-08-13T22:23:09.763 に答える
0

画像に似た別のオプションですが、使用するスペースと帯域幅が大幅に少なくなり、キャンバス上にコードを描画することができます (おそらく ajax 経由で取得した後)。最新のブラウザとより多くのプログラミングが必要ですが、簡単にコピーできないクリーンなテキストが作成されます。

于 2012-08-13T22:23:10.587 に答える