Fix IP in ProvaService.ts and Add PUBLIC_URL
Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
8dfe0d6f94
commit
b764c93106
7 files changed
+693
-287
No files matched your search
@@ -175,15 +175,93 @@ router.get('/:id/status', async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Verificar documento
|
||||
// Modificar a rota de verificação
|
||||
router.get('/verificar/:hash', async (req, res) => {
|
||||
try {
|
||||
const { hash } = req.params;
|
||||
|
||||
// Capturar IP real usando a mesma lógica que funciona no processamento
|
||||
const realClientIP = req.headers['x-forwarded-for']?.toString().split(',')[0].trim() ||
|
||||
req.ip ||
|
||||
req.socket?.remoteAddress ||
|
||||
'127.0.0.1'; // Nunca usar 0.0.0.0
|
||||
|
||||
const clientPort = req.socket?.remotePort?.toString() || '0';
|
||||
|
||||
// Registrar para debug
|
||||
console.log('Verificação de prova solicitada:', {
|
||||
hash,
|
||||
realClientIP,
|
||||
clientPort,
|
||||
headers: {
|
||||
'x-forwarded-for': req.headers['x-forwarded-for'],
|
||||
'user-agent': req.headers['user-agent']
|
||||
}
|
||||
});
|
||||
|
||||
const provaService = new ProvaService();
|
||||
const result = await provaService.verifyFile(hash);
|
||||
res.json(result);
|
||||
|
||||
// Adicionar informações de verificação ao resultado
|
||||
return res.status(200).json({
|
||||
...result,
|
||||
verificacao: {
|
||||
timestamp: new Date().toISOString(),
|
||||
ip: realClientIP,
|
||||
porta: clientPort
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erro ao verificar documento:', error);
|
||||
res.status(500).json({ error: 'Erro ao verificar documento' });
|
||||
console.error('Erro ao verificar arquivo:', error);
|
||||
return res.status(500).json({
|
||||
verified: false,
|
||||
message: `Erro ao verificar: ${error.message}`
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Modificar a rota de verificação pública
|
||||
|
||||
router.get('/public/verificar/:hash', async (req, res) => {
|
||||
try {
|
||||
const { hash } = req.params;
|
||||
|
||||
// Capturar IP real usando headers
|
||||
const realClientIP = req.headers['x-forwarded-for']?.toString().split(',')[0].trim() ||
|
||||
req.ip ||
|
||||
req.socket?.remoteAddress ||
|
||||
'127.0.0.1';
|
||||
|
||||
const clientPort = req.socket?.remotePort?.toString() || '0';
|
||||
|
||||
console.log('Verificação pública solicitada:', {
|
||||
hash,
|
||||
realClientIP,
|
||||
clientPort,
|
||||
headers: {
|
||||
'x-forwarded-for': req.headers['x-forwarded-for'],
|
||||
'user-agent': req.headers['user-agent']
|
||||
}
|
||||
});
|
||||
|
||||
const provaService = new ProvaService();
|
||||
const result = await provaService.verifyFile(hash);
|
||||
|
||||
// Adicionar informações de verificação ao resultado
|
||||
return res.status(200).json({
|
||||
...result,
|
||||
verificacao: {
|
||||
timestamp: new Date().toISOString(),
|
||||
ip: realClientIP,
|
||||
porta: clientPort
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Erro ao verificar arquivo:', error);
|
||||
return res.status(500).json({
|
||||
verified: false,
|
||||
message: `Erro ao verificar: ${error.message}`
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user