Html 方法来保护表单post Express JS
我在公用文件夹中使用一个静态页面loginform.html,在这种形式下,当用户按submit时,用户名和密码将发送到服务器路由/登录,并在此路由中完成身份验证 在服务器端:Html 方法来保护表单post Express JS,html,node.js,http,https,express,Html,Node.js,Http,Https,Express,我在公用文件夹中使用一个静态页面loginform.html,在这种形式下,当用户按submit时,用户名和密码将发送到服务器路由/登录,并在此路由中完成身份验证 在服务器端: var express = require('express'); var app = express(); app.use(express.compress()); app.use(express.static(__dirname + '/public')); var a = ['/']; app.get('
var express = require('express');
var app = express();
app.use(express.compress());
app.use(express.static(__dirname + '/public'));
var a = ['/'];
app.get('/', function(req, res) {
console.log('First page called');
res.redirect('loginform.html');
res.end();
});
app.post('/login', function(req, res) {
console.log('login called');
//authentication Check//
res.end();
});
app.listen(process.env.PORT || 3000);
在客户端:
<html>
<style media="screen" type="text/css">
@import url("css/loginform_styles.css");
</style>
<head>
<title>
Welcome to Label
</title>
<script type="text/javascript" src="annotationTools/js/md5.js" ></script>
<script>
function validateForm()
{
var usrnamefield=document.forms["loginform"]["usrfield"].value;
var passwrdfield=document.forms["loginform"]["passfield"].value;
if ((usrnamefield==null || usrnamefield=="")||(passwrdfield==null || passwrdfield==""))
{
document.getElementById('valueerrorlayer').innerHTML ='Username or password field is empty';
//document.forms["loginform"]["errorshow"].innerHtml = 'username or password empty';
return false;
}
else return true;
}
</script>
</head>
<body>
<div id = "imge_disp">
<img src="images/logo.jpg"/>
</div>
<form name="loginform" id="loginform" action="login" method="post" onsubmit="return validateForm()">
<div id = "content" align = "center">
<p align="center"><font size="7">LabelDev</font></p>
<br />
<br />
<label> Please Enter the <b><i>Username</i></b></label>
<br />
<br />
<input type="text" name = "usrfield" id = "usrfield" onkeydown="if (event.keyCode == 13) document.getElementById('btnSearch').click()"/>
<br />
<br />
<br />
<label> Please Enter the <b><i>Password</i></b></label>
<br />
<br />
<input type="password" name = "passfield" id = "passfield" onkeydown="if (event.keyCode == 13) document.getElementById('btnSearch').click()"/>
<br />
<br />
<br />
<i><p id='valueerrorlayer' style="color:red;"> </p></i>
<input type="submit" value="Submit"/>
</div>
</form>
</body>
</html>
问题:我希望在邮件中发送用户名和密码,这样中间人就无法对其进行哈希或加密读取
问题1:对于此解决方案,使用enctype=application/x-www-form-urlencoded是否足够?
问题2:最好还是留在http中进行身份验证。如果是的话,你能指导我吗。
问题3:或者转到https,然后是如何创建ssl证书。研究之后,我使用https证书和密钥来保护流量。正如您所看到的,“urlencoded”一词表示编码数据,而不是加密数据。所以我建议使用SSL。有关详细信息,请搜索廉价ssl证书: