Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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 发送个人数据的最安全方式_Javascript_Html_Node.js_Express - Fatal编程技术网

Javascript 发送个人数据的最安全方式

Javascript 发送个人数据的最安全方式,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我目前在我的网站上有一个登录页面,当用户提交他们的电子邮件和密码时,它会向网站内部的URL发送post请求(/api/passwordCheck)。有更安全的方法吗? 注意:如果提交表单后密码或电子邮件地址错误,您将能够在chrome控制台的“网络”选项卡下看到整个登录数据库 我的后端处理程序(express.js): const{parse}=require('querystring'); let express=要求('express'); 设app=express(); 让cookies=

我目前在我的网站上有一个登录页面,当用户提交他们的电子邮件和密码时,它会向网站内部的URL发送post请求(
/api/passwordCheck
)。有更安全的方法吗?

注意:如果提交表单后密码或电子邮件地址错误,您将能够在chrome控制台的“网络”选项卡下看到整个登录数据库

我的后端处理程序(express.js):

const{parse}=require('querystring');
let express=要求('express');
设app=express();
让cookies=require('cookie-parser');
app.get('/',函数(req,res){
res.redirect('/home');
});
app.get('/home',函数(req,res){
res.sendFile(uu dirname+'/pages/home.html');
});
app.get('/login',函数(req,res){
res.sendFile(uu dirname+'/pages/login/login.html');
});
app.get('/register',函数(req,res){
res.sendFile(uu dirname+'/pages/login/register.html');
});
应用程序post('/register',函数(req,res){
让数据=“”;
请求打开('data',chunk=>{
data+=chunk.toString();
});
请求开启('end',()=>{
数据=解析(数据);
//将数据保存在mongoDB数据库中
});
});
app.post('/api/passwordCheck',(req,res)=>{
让数据=“”;
请求打开('data',chunk=>{
data+=chunk.toString();
});
请求开启('end',()=>{
数据=解析(数据);
函数解密(原始、散列){
//解密密码
}
if(decrypt(data.raw,data.hashed))res.json({response:true});
else res.json({response:false});
});
});
app.post('/api/login',(req,res)=>{
要求('./loginda.js');
});
我的登录页面脚本:

const form=document.getElementsByClassName('loginForm');
设formData=newformdata(form[0]);
让密码=“”;
$.post({url:'http://localhost:100/api/login,成功:函数(数据){
data=JSON.parse(JSON.stringify(data));
data.forEach(d=>{
if(d.email.toString()==formData.get('email').toString()){
email=true;
$.post({url:`http://localhost:100/api/passwordCheck`,数据:`hashed=${d.password}&raw=${$('#password').val()}`,成功:函数(da){
密码=da.toString();
}});
}
});
}});

发送私人数据时,应始终使用
https:
URL。大多数站点现在都在使用
https:
进行所有操作。@本地主机不提供Barmar SSL证书,但是我在购买域时会记住这一点。您确实应该使用主体解析器库,而不是手动执行
req.on('data')
dance。无法通过HTTP“安全”发送任何内容。即使您对传递进行哈希,哈希本身也将通过网络包完全可见。捕获工具
https
url确实可用于localhost。您只需配置它们。angular等框架内置了用于生成本地运行的本地SSL证书的命令。除了节点外,您没有任何其他标记,但这确实是一种可能性。在发送私有数据时,您应该始终使用
https:
url。大多数站点现在都在使用
https:
进行所有操作。@本地主机不提供Barmar SSL证书,但是我在购买域时会记住这一点。您确实应该使用主体解析器库,而不是手动执行
req.on('data')
dance。无法通过HTTP“安全”发送任何内容。即使您对传递进行哈希,哈希本身也将通过网络包完全可见。捕获工具
https
url确实可用于localhost。您只需配置它们。angular等框架内置了用于生成本地运行的本地SSL证书的命令。除了节点外,您没有使用任何其他标记来标记您的节点,但这确实是一种可能性。