Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中的用户名和密码验证_Javascript_Jquery_Html_Node.js - Fatal编程技术网

Javascript Node.js中的用户名和密码验证

Javascript Node.js中的用户名和密码验证,javascript,jquery,html,node.js,Javascript,Jquery,Html,Node.js,我已经创建了一个名为“USERS”的数据库,并且在看起来像这样的数据库中创建了“USERS”表 现在我运行“localhost:8000”。我在控制台中得到了login.html和“connected”消息。现在我想知道在login.html中输入用户名密码后,我想在“验证”按钮上单击验证usename密码。我该怎么做?????请帮帮我 Server.js: login.html: 您需要对代码进行一些更改 作为第一步,您需要为Express framework添加一些中间件来处理post数据,

我已经创建了一个名为“USERS”的数据库,并且在看起来像这样的数据库中创建了“USERS”表

现在我运行“localhost:8000”。我在控制台中得到了login.html和“connected”消息。现在我想知道在login.html中输入用户名密码后,我想在“验证”按钮上单击验证usename密码。我该怎么做?????请帮帮我

Server.js:

login.html:


您需要对代码进行一些更改

作为第一步,您需要为Express framework添加一些中间件来处理post数据,例如:

var app=express();
var bodyParser = require('body-parser')
app.use( bodyParser.urlencoded() ); 
从html页面开始,您的输入字段需要包装成一个表单,否则当您单击Submit时,它们将不会/无法发布到任何内容

<body>
    <form id="someform" action="/login" method="post">
        <input id="username" />
        <input id="password" />
        <button id="submit">Verify</button>
    </form>
</body>
请查看更多提示

本例不涉及将提交的值与数据库进行比较或加密密码,但可能会帮助您开始提交post数据并在节点中访问它

这也不是你计划在生产环境中使用的东西——密码应该加密,你需要处理会话状态的其他很多东西


到目前为止,最好的选择是找到并使用一些预构建的身份验证中间件,并对其进行配置以满足您的需要。

您似乎对所涉及的技术有了合理的掌握,您的处境如何?请不要将密码以明文形式存储在数据库中。这是一个非常糟糕的主意。相反,存储密码SHA-1的单向散列,等等。要检查密码,您需要散列他们给您的内容,并将其与您持有的散列进行比较。这样一来,一个被破坏的数据库就不会泄露每个人的密码。密码对你的参考是可见的。我不会称root为真正的密码。无论如何,这可能是他的开发机器@T.J.克劳德:你忘了提到腌制。不含盐份的散列几乎和明文密码一样糟糕。@ThiefMaster:我以为会有后续阅读。但我真的应该说在那里的某个地方加盐。根你是说管理员吗?这比更复杂、更具体的用户身份验证更准确。我发现这个答案有问题,因为它演示了绝对最糟糕的身份验证方法,因为它根本没有说明如何正确地进行身份验证。然而,在有人试图开始使用node的问题中,我觉得概括一些基本知识可能会很有用。为什么我在控制台中获得用户名、密码是未定义的???
var app=express();
var bodyParser = require('body-parser')
app.use( bodyParser.urlencoded() ); 
<body>
    <form id="someform" action="/login" method="post">
        <input id="username" />
        <input id="password" />
        <button id="submit">Verify</button>
    </form>
</body>
app.post('/login', function(sReq, sRes) {
        var username = sReq.body.username;
        var password = sReq.body.password;

        if (username=='myusername' && password == 'mypassword') {
               // do something here with a valid login

        } else { 
               // user or password doesn't match
        }
});