Khi client kết nối đến máy chủ HTTP của bạn 'connection
' Sự kiện này được phát ra và đối số cung cấp cho gọi lại là một dòng của loại net.Socket
trong đó có một thuộc tính gọi là ' remoteAddress
'. Tương tự, mỗi yêu cầu HTTP thông qua yêu cầu của người nghe của bạn cũng có một tham chiếu đến đối tượng kết nối:
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello ' + req.connection.remoteAddress + '!');
// Client address in request -----^
});
server.on('connection', function(sock) {
console.log('Client connected from ' + sock.remoteAddress);
// Client address at time of connection ----^
});
server.listen(9797);
Như để xác thực thông qua chứng chỉ nhúng trong URL, tôi không nghĩ rằng hình thức này là đáng tin cậy như some web browsers do not pass on the information trong HTTP yêu cầu (ít nhất là IE và Chrome). Bạn nên triển khai thực hiện chương trình xác thực dựa trên tiêu chuẩn HTTP như Basic access auth hoặc Digest access auth.
Làm thế nào để bạn spoof IP? – ch3ll0v3k