-3

非表示のコンテンツを保護するためにキーボード スクリプトを無効にする方法を探しています。

4

3 に答える 3

4

できませ。ページを表示するにはソースをダウンロードする必要があるため、ユーザーは常にソースを表示できます。

ソースを表示する方法は、防止しようとしているものよりも多くあります。

  • ファイアバグの使用
  • wgetの使用
  • コンテンツを右クリックして「ソースを表示」を選択
  • メニューオプションの使用
  • 真ん中の男経由
  • おそらくもっと...
于 2013-02-04T15:42:44.917 に答える
0

これはそれほど複雑ではありませんが、まったく信頼できません。他のすべての Javascript 保護と同じです。
最初のトリック(IE非互換):

function denyKey(event) {
    var code = event.keyCode;  
    if(event.ctrlKey) {
      if(code==85) 
        return false;
    }
}
window.addEventListener("keydown", denyKey);

私のコードは単なるスクラッチであり、クロスブラウザーではありません。ここでkeyCodes を取得します。コードの使用を思いとどまらせたいので、コードにはあまり力を入れていません。
ユーザーにデータを送信すると、キーを渡さずに暗号化しない限り、データを読み取ることができます。これは、次のいずれかを意味します。

  1. JavaScript認証
  2. 秘密の読み込みページ
  3. Javascript「ダウンロードする前にお待ちください...」
  4. ブロックされたマウスボタン

..ユーザーによってバイパスされる可能性があります。

たとえば、マウスボタンのブロックを解除するブックマークレットがあります。

于 2013-02-04T15:51:00.103 に答える
-1

そんなことはあり得ない。仮にあったとしても、それは恐ろしい防御だっただろう。任意のページのソースを取得する簡単なスクリプトを作成することさえできます。クライアントが見るものはすべて、「ソースを表示」できます (誰かが編集できます)。サーバー側のコードのみが安全です。実際のブラウザを介してしかページを表示できなかったとしても (実際にそうすることはできません)、アクセラレータ キーやその他のショートカットを見落とす可能性があります。クライアントにコードを見せたくない場合は、渡さないでくださいそれをサーバー側に保持する (.txtファイルではなく、アクセス可能である) か、保持しないでください。

于 2013-02-04T15:43:04.597 に答える