0

テキスト コンテンツを含む Web ページ (.Net プラットフォーム上、C# を使用) があり、ユーザーがテキストをコピーしたり、ドキュメントを印刷したりできないようにしたいと考えています。
ユーザーがページのコピーを取得するのに苦労している場合、私は彼ができることを知っています. しかし、私はそれをできるだけ難しくしたいと思います。
その上でいくつかのポイントを見つけました。

  • Java Script を使用して、ユーザーによるテキストのコピーをブロックします。欠点は、ユーザーがソースからテキストを簡単にコピーできることです。
  • ユーザーは一度に印刷できるため、テキストを 1 つの大きな画像にしないでください。
  • プラグインを使用して、テキストをコピーする機能なしで、定義されたビューポート サイズでテキストをスクロール可能として表示します。次に、ユーザーは、ウィンドウのビューポートに収まるすべてのビットを印刷するのに苦労する必要がありますが、これは私にとっては問題ありません。この場合はフラッシュを使用してください。
  • ソーステキストをコピーまたは表示できないionCubeの(php)ソリューションを見てきましたが、欠点は簡単に印刷できることです。ユーザーがページを印刷するのをブロックする機能とともに、ここで ASP のエンコーディング ソリューションを確認したいと思います :)
  • ユーザーが scribd 文書からテキストをコピーできないようにすることを選択した場合、scribd はテキストを読みにくい画像に変換するため、解決策にはなりません。

私が知らない解決策が他にもあるかもしれません。
この場合の最善の解決策を教えてください。

4

2 に答える 2

2

解決策はありません。どの Web ページもメモリ内で DOM として表現する必要があり、それを操作してそこからテキストを抽出できるツールは不足していません。

DRM はせいぜい効果がなく、HTML が関係する場合、「最高」は遠く離れています。

于 2011-12-22T22:38:49.513 に答える
2

最初のソリューションを使用し、CSS ルールを使用して印刷版ですべてを非表示にすることができます。

<style type="text/css" media="print">* { display: none;}</style>

もちろん、クエンティンが言ったように、これを行う決定的な方法はありませんが、javascript によってページに書き込まれるエンコードされたテキストのバージョンを使用して選択をブロックし、この CSS スニペットを使用すると、ユーザーの約 80% を取得できます。

document.getElementById('elementId').innerHTML = unescape(escapedTextGoesHere);
于 2011-12-22T22:48:35.407 に答える