2017-02-17 1 views
-1

私のアプリケーションでは状況に応じてフィールドを有効または無効にしていますが、f12を押すと編集できます無効なフィールドもので、私はそれがより良いアプローチ ある場合F12&inspect要素からHTMLを非表示にするには、sersは無効なフィールドを編集できないはずです

<%@ taglib uri="/struts-tags" prefix="s"%> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Profile</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet"> 
    <style type="text/css">                  
    </style> 

    <script> 
    function divFunction(user){ 
     event.preventDefault(); 
     $.ajax({ 
      type: 'POST', 
      url:'publicProfile.action?userNbk='+user, 
      dataType: 'text', 
      success: function(data){ 
       var obj = jQuery.parseJSON(data); 
       document.getElementById("userNameHeader").innerHTML = obj.articleUserName; 
       document.getElementById("publicEmail").innerHTML = obj.articleUserEmail; 
       document.getElementById("publicNbk").innerHTML = obj.articleUserNbk; 
       document.getElementById("publicPid").innerHTML = obj.articleUserPersonId; 
       document.getElementById("publicGender").innerHTML = obj.articleUserGender; 
       document.getElementById("publicJob").innerHTML = obj.articleUserOccupation; 
       document.getElementById("publicAddress").innerHTML = obj.articleUserAddress; 
       document.getElementById("publicIntrests").innerHTML = obj.articleUserIntrests; 
      }}); 
    } 
    </script> 
    <script type="text/javascript"> 

    function isConsoleOpen() { 
     alert("hello"); 
      var startTime = new Date(); 
      debugger; 
      var endTime = new Date(); 
      return endTime - startTime > 10; 
     } 

    $(document).ready(function() { 
     alert("helo"); 
     if(isConsoleOpen()) { 
      /* alert("You're one sneaky dude, aren't you ?") */ 
      document.getElementById("aaaaaa").innerHTML="You're one sneaky dude, aren't you ?"; 
     } 
    }) 

    $(document).keydown(function(event){ 
    if(event.keyCode==123){ 
    return false; 
    } 
    else if(event.ctrlKey && event.shiftKey && event.keyCode==73){   
     return false; //Prevent from ctrl+shift+i 
    } 
}); 
    $(document).bind("contextmenu",function(e) { 
     e.preventDefault(); 
    }); 

    </script> 
</head> 
<body> 
<div id="aaaaaa"> 
    <form> 
     <input type="text" disabled="disabled"> 
     <input type="text" disabled="disabled"> 
     <input type="text" disabled="disabled"> 
     <input type="text" disabled="disabled"> 
    </form> 
</div> 
</body> 
</html> 
+0

_「小さなハックの実装を実装しました」_あなたの質問を編集して、あなたのハックが実際に何であるか、そして何をしているのかを説明してください。どのような意味で "良い"?おそらく 'click'リスナを要素に付け加えて、ある変数の状態を反映する関数内のローカル変数を変更することができます。その変数は必要なものに使用されます。その機能が外部からアクセスできない場合は、そのような事態に近づく可能性があります。 – Xufox

+3

常にサーバー側の検証を使用してください。ユーザーがブラウザの開発ツールを使用したり、ブラウザを完全にバイパスしたり、他のツールからURLを呼び出したりすることを止めることはできません。 (また、ページが読み込まれた瞬間にコンソールが開いているかどうかをテストしても、何も役に立たないとは言えません)。 – nnnnnn

答えて

2

は不可能で見および/または編集されているからHTMLを防止する私に任意のより良い方法を提案してください実装の小さなハックのようなものを実装したがわかりませんでした。

+0

最終的に、これは質問に答えません。 – Xufox

+2

最終的にはそうです。 'F12からHTMLを隠す&要素を検査すると、sersは無効なフィールドを編集できなくなるはずです.' - できません。参照してください:http://stackoverflow.com/a/24319844 – user6003859

1

あなたの質問に具体的に答えるために、ユーザーが無効なフィールドを編集しないようにする方法はありません。ユーザがと編集をあなたのHTMLで表示しないようにすることは不可能です。

あなたは本当にこの問題の世話をするために行うことができますのみ事は、サーバー側の検証を使用することです。テキストを渡す必要のないフィールドがある場合は、そのフィールドのデータを処理しないようにサーバー側で何らかのバリデーションを設定するだけです。残念ながら、それはウェブ開発の一部に過ぎません。

「ハッキー」ソリューションの作成は、ではなく、とするとよいでしょう。それは管理不能なコードにつながり、この場合、問題を解決することさえできません。実際に

、(はい、これは意見ベースである)私も、私はあなたのコードの周り狩りしているかのために、それはは、あなたのフィールドを台無しに人々を奨励言うと、私はが私を保つためにをしようとあなたを見ましたまず、私がやるべきことは、ハッキーブロックを回避しようとすることです。そして、100回のうち100回、私は成功するつもりです。

+0

@カイルマーティン、あなたは間違いなく私を助けるつもりです –

+0

あなたは私のコードの周りにあなたが停止するようにそのコードを改善できるようにするつもりと言うことができると言うことができる あなたは精巧に説明してください –

+1

Google Chromeの場合:1)ウェブページを開きます。 2)Chromeメニュー(3つの点)をクリックします。3)「その他のツール」にカーソルを合わせます。 4)[開発ツール]をクリックします。完了しました。私は入っていますが、私はあなたのフィールドを編集することができます。 :) –

関連する問題