2012-11-30 20 views
1

我總是使用純HTML版本進行登錄,但希望從現在開始使用jQuery版本。相互之間是否有優點或缺點?請安全觀點。使用html或jquery登錄表單的方法

注:我將驗證變量後端,所以現在不用擔心。

感謝

純HTML

<form name="login" method="post" action="login.php"> 
    Username: <input type="text" id="username" name="username" /><br /> 
    Password: <input type="password" id="password" name="password" /><br /> 
    <input type="submit" id="submit" name="submit" value="Login" /> 

    <input type="hidden" id="hash" name="hash" value="dynamic has goes here" /> 
    <input type="hidden" id="trap" name="trap" value="allways empty" /> 
</form> 

JQuery的風格

$(document).ready(function() 
{ 
    $("#login").submit(function(event) 
    { 
     event.preventDefault(); 

     var username = $('#username').val(); 
     var password = $('#password').val(); 
     var hash = $('#hash').val(); 
     var trap = $('#trap').val(); 

     $.ajax({ 
      type  : 'POST', 
      url   : 'login.php', 
      data  : {username:username, password:password, hash:hash, trap:trap}, 
      dataType : 'json', 
      cache  : false, 
      success  : function(response) 
      { 
       window.location = response.redirect; 
      }, 
      error  : function(response) 
      { 
       //Process 
      } 
     }); 

     return false; 
    }); 
}); 

<form name="login" method="post"> 
    Username: <input type="text" id="username" name="username" /><br /> 
    Password: <input type="password" id="password" name="password" /><br /> 
    <button type="submit">Login</button> 

    <input type="hidden" id="hash" name="hash" value="dynamic has goes here" /> 
    <input type="hidden" id="trap" name="trap" value="allways empty" /> 
</form> 
+0

只要您使用HTTPS,我不會看到問題。順便說一句,使用jQuery方法你並不需要使用表單元素,它可以是任何東西,比如div。 –

+0

您可以使用JavaScript/jQuery執行驗證。 – pmandell

回答

1

從安全的角度來看,如果你點擊一個 「後」 提交按鈕表單,你的瀏覽器會對服務器執行一個post請求。 如果您使用jQuery,發佈請求將完全相同。

我唯一的建議是使用https。

+0

所以根本沒有區別! – BentCoder

+0

你是對的! – poiuytrez