1
我試圖連接到mysql數據庫,運行一個查詢,然後設置一個cookie只有當密碼是正確的(我知道我不應該使用md5,這只是一個測試項目)。這是我寫的代碼,當我執行,讓這個請求的請求時,它說:Error: Can't set headers after they are sent.
res.cookie()沒有與mysql連接後
但我未發送任何迴應,直到我打電話res.cookie()
我不知道什麼是錯的更多信息:
email=req.params.email;
password=req.params.password;
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'nishchal11',
database : 'venturesity'
});
connection.connect();
sql="SELECT * FROM user WHERE user_email="+connection.escape(email)+" AND password=md5("+connection.escape(password)+");";
connection.query(sql,function (err,rows,fields) {
res.cookie("email",email);
if(!err){
if(rows.length==1){
//res.cookie("password",rows[0].pass);
console.log(rows[0].pass);
}else{
console.log("wrong pass");
}
}else{
console.log("Error");
}
});
res.end(sql);
在先進的感謝
是否有一些較早執行的代碼發送內容?您還需要在查詢中的字符串值周圍放置字符串分隔符(即單引號),您真的應該考慮關閉SQL注入漏洞。你已經注意到你的密碼哈希方法不健全 - 你對此是正確的。 –
connection.escape轉義sql注入,我現在不擔心,因爲正如我所提到的,這只是一個測試階段。 –