2013-07-04 128 views
-1

我有一個更新PHP頁面的AJAX代碼,我想隱藏AJAX代碼,以便用戶查看頁面源代碼時不會爲他們顯示AJAX代碼。做它?這是我的AJAX代碼我如何隱藏一個javaScript代碼

<script type="text/javascript"> 
function Ajax(){ 
var xmlHttp; 
    try{  
     xmlHttp=new XMLHttpRequest(); 
    } 
    catch (e){ 
     try{ 
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
     } 
     catch (e){ 
      try{ 
       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch (e){ 
       alert("Oops!"); 
       return false; 
      } 
     } 
    } 

xmlHttp.onreadystatechange=function(){ 
    if(xmlHttp.readyState==4){ 
     document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText; 
     setTimeout('Ajax()',2000); 
    } 
} 
xmlHttp.open("GET","reload.php",true); 
xmlHttp.send(null); 
} 

window.onload=function(){ 
    setTimeout('Ajax()',2000); 
} 
</script> 

那麼我怎麼把cna的代碼隱藏起來呢?

+0

簡答:你不能。客戶端也可以看到下載到客戶機的所有內容。 – Teemu

+1

這已被問及*重複* *。 A着名搜索引擎的前四名點擊都是如此:http://stackoverflow.com/questions/2222355/how-to-hide-javascript-code,http://stackoverflow.com/questions/6869312/how-do -i-hide-javascript-code-in-a-webpage,http://stackoverflow.com/questions/11960168/ways-to-hide-html5-javascript-code,http://stackoverflow.com/questions/1020368/how-to-hide-or-encrypt-javascript-code –

+0

最好的辦法是使用編譯器/優化器/更好的工具來讓人們閱讀起來更難,但仍然是可行的......另外,爲什麼你想要隱藏那個?這是沒有什麼重要的 – Salketer

回答

1

您不能隱藏代碼。你可以將它移動到一個單獨的js文件中,但用戶仍然可以看到它。解決辦法是混淆它。看到這個question

+0

如果我把它移動到一個單獨的JS文件,我可以讓該文件不能被用戶訪問? –

+0

不,這是不可能的。 Javascript是客戶端代碼,需要存在於用戶的機器上。唯一的解決方案是混淆它。或將功能移至服務器。 – kgiannakakis

0

不,你不能隱藏它的字面意義(模糊不是字面隱藏 - 和URL必須在某些時候明文,即使它生成) 問題是,你是否可以隱藏代碼與否,但是:你爲什麼要那樣做? 隱藏東西不是安全機制。