req.secure ใน ExpressJS

ใน ExpressJS, req.secure เป็นคุณสมบัติที่เก็บค่า boolean ที่ระบุว่าคำขอปัจจุบันได้รับการเข้ารหัสด้วย TLS หรือไม่

หากคำขอได้รับการเข้ารหัสด้วย TLS req.secure จะเท่ากับ true หากคำขอไม่ได้เข้ารหัสด้วย TLS req.secure จะเท่ากับ false

ตัวอย่างเช่น หากคุณมีแอปพลิเคชัน ExpressJS ที่ทำงานบน https://localhost:3000/ และผู้ใช้ส่งคำขอไปยัง URL https://localhost:3000/req.secure จะถูกตั้งค่าเป็น true

หากต้องการใช้ req.secure ใน ExpressJS คุณสามารถใช้สิ่งนี้ในโค้ดของคุณ:

1
2
3
4
5
6
7
8
9
10
11
const app = express();

app.get("/", function(req, res) {
if (req.secure) {
res.send("The request is secure.");
} else {
res.send("The request is not secure.");
}
});

app.listen(3000);

เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL https://localhost:3000/ คุณจะเห็นข้อความ “The request is secure.” ในคอนโซล

req.secure มีประโยชน์เมื่อคุณต้องการตรวจสอบว่าคำขอปัจจุบันได้รับการเข้ารหัสด้วย TLS หรือไม่ ตัวอย่างเช่น คุณอาจต้องการใช้ req.secure เพื่อบล็อกคำขอที่ไม่ปลอดภัย

req.secure แตกต่างจาก req.protocol ในสองวิธี:

  • req.protocol จะให้ข้อมูลเกี่ยวกับโปรโตคอลของคำขอเท่านั้น ตัวอย่างเช่น มันอาจเท่ากับ “http” หรือ “https”
  • req.secure จะให้การบ่งชี้ที่ชัดเจนว่าคำขอได้รับการเข้ารหัสด้วย TLS หรือไม่