需要特定用户名/密码才能将表单提交给服务器的函数

时间:2011-05-14 06:45:48

标签: javascript function authentication

我需要编写一个接受特定用户名和密码的函数。如果密码错误,则会显示错误框,如果正确,则会提交。

我知道这是一个非常基本的问题,但是其中一个难以在谷歌上正确表达的方式,任何帮助将不胜感激。

这是我的代码:

function logon (userName, password)  
{ 

userName = document.GetElementById("testusername");
password = document.GetElementById("testpassword");


    if(userName == "username" && password == "password") 
    {
        ONSUtils.LoadPage('pgMain');
    }
    else
    {
        // Show Error Message Here
    }

}

4 个答案:

答案 0 :(得分:1)

问题是您将实际DOM与字符串“username”和“password”进行比较。您需要改为使用value属性。

function login(){
    var username = document.getElementById("testusername").value;
    var password = document.getElementById("testpassword").value;

    if(username == "username" && password == "password"){
        //Log-in
    }else{
        //Error
    }
}

话虽如此, 将用户名和密码放在javascript 文件中是不明智的,因为它们会转移给最终用户,并且可以清楚地读取黑客行为您的安全真的很容易。如果你需要进行安全检查,它确实应该是服务器端。

答案 1 :(得分:0)

实际上你的问题是什么?

无论如何,这个if(userName == "username" && password == "password")意味着您的用户名和密码存储在页面本身中,对吗?因此,任何能够在浏览器中找到“显示页面源”上下文菜单的人都可以发现您的凭据......

答案 2 :(得分:0)

不幸的是,你不能用纯粹的javascript做到这一点,并且从任何合理的意义上说它都是安全的。正如c-simle所说 - 任何用户都可以点击“查看源”并发现密码。

执行此操作的方法是将表单提交到服务器,然后对数据库进行服务器脚本(php,asp,ror)检查,并返回结果(成功或失败)。您可以使用javascript + ajax或仅通过向服务器提交普通表单来执行此操作。

答案 3 :(得分:-1)

k因为你是javascript的新手,你尝试的是很好的尝试, 现在我将向您解释如何使用javascript进行验证

form:
<form name="frm1" action="submit.html" onsubmit="logon()">
User Name:<input type="text" name="unm" id="unm" />
Password:<input type="text" name="pwd" id="pwd" />
<input type="submit" value="Submit" />
</form>

Function:
function logon()
{
     userName = document.GetElementById("unm").value;
     password = document.GetElementById("ped").value;

     if(userName =="" ||password =="")
      {
            alert("Enter all the fields correctly");
          unm.focus();//or you can check each field separately to focus the empty field
      }        
    if(userName == "username" && password == "password") 
    {
        //it redirects to the page what i gave in form action i.e., submit.html
    }
    else
    {
        if(userName != "username")
        {
           alert("Enter correct UserName");
           unm.focus();//this will sends control to the username text box
        }
        else
        {
          if(password != "password")
        {
           alert("Enter correct password");
           pwd.focus();//this will sends control to the username text box
        }

    }
}