2015-02-06 34 views
0

做驗證。如果我用ID或類型(jQuery的)驗證任何文本框的問題等,如:我已經得到了由JavaScript

var element=document.getElementById('tbxSearchField').value 
if(element=="") 
{alert("please enter text");} 

和HTML是:

<input class="input" id="tbxSearchField" name="tbxSearchField" placeholder="Search" type="text" value=""> 

如果任何人使用inspect元素選項更改瀏覽器中元素的ID,則驗證不起作用。

如何爲這種情況提供安全保障?有什麼辦法可以阻止客戶端?

+4

如果用戶試圖繞過這樣的驗證,他們可以刪除JavaScript。你必須驗證客戶端和服務器端。 – 2015-02-06 07:22:44

+0

僅確保數據客戶端的安全確實不夠:) – 2015-02-06 07:23:22

回答

0

有沒有辦法從客戶端

沒有,也沒有阻止這一切。客戶端驗證僅供用戶使用。驗證邏輯可以隨時通過瀏覽器開發工具中的簡單編輯代碼進行更改。

如何爲這種情況提供安全性?

您有總是重新驗證來自服務器上的客戶端的數據。

-1

JavaScript驗證是客戶端驗證。最終用戶可以通過瀏覽器的JavaScript設置輕鬆解決此問題。

爲安全起見,最好使用Ajax驗證。

博客文章Form Validation Using Ajax將有助於更多地使用Ajax驗證。

0

到securily驗證輸入的最佳方法是使用服務器端驗證,但jQuery的你能避免使用idclass驗證輸入:

var elements=$("input:text"); 
for(element in elements){ 
    if(element.val()=="") 
    { 
    alert("please enter text"); 
    } 
} 

或者你可以使用Javascript querySelector() Method

var elements=document.querySelector('input[type="text"]'); 
for(element in elements){ 
    if(element.value=="") 
    { 
    alert("please enter text"); 
    } 
} 
相關問題