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

function that requires a specific username/password in order to submit a form to a server

本文关键字:表单提交 服务器 函数 密码 用户      更新时间:2023-09-26

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

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

这是我的代码:

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
    }

}

问题是您将实际的 DOM 与字符串"用户名"和"密码"进行比较。您需要改用 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文件中是不明智的,因为它们被转移到最终用户,并且可以清楚地阅读,从而使黑客攻击您的安全变得非常容易。如果您需要进行安全检查,它确实应该是服务器端的。

你的问题到底是什么?

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

不幸的是,你不能用纯粹的javascript来做到这一点,并且通过任何合理的意义来确保它是安全的。正如c-simle所说 - 任何用户都可以单击"查看源代码"并发现密码。

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

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
        }
    }
}