I'm trying to make an app where a client will search some string in a textarea and that string will be looped through to find an IP address. If it finds an IP then it will take its value and use it in an API to request for more data. The string, which the client searches will always have an IP. But I'm not getting an ip. Here's the code:
HTML
<div class="row">
<div class="col-sm-12 mb-5">
<form action="/finder" method="GET" id="ipForm">
<textarea type="text" name="header" id="form-input" class="form-control form-input form-inline justify-content-center" required></textarea>
<input type="submit" class="btn btn-primary" id="form-submit" value="CHECK">
</form>
</div>
</div>
Router
router.get("/finder", (req, res) => {
if(req.query.header) {
var query = req.query.header;
var rawQuery = query.split("\n");
for(var i = 0; i < rawQuery.length; i++) {
var ip = /Received:\s+from.*?\[((?:[0-9]{1,3}\.){3}[0-9]{1,3})\]/i.exec(rawQuery[i]);
if(ip !== null) {
var url = "https://api.ipregistry.co/" + ip;
request(url, function(error, response, body) {
if(!error && response.statusCode === 200) {
const data = JSON.parse(body);
res.render("../views/finder", {data: data});
}
});
}else{
// var data = "Unable to retrieve data.";
// res.render("../views/finder", {data: data});
console.log("no ip found");
}
}
}else{
res.render("../views/finder", {data: null});
}
});
Edited with more info - input value will be something like this
Return-path: <[email protected]>
Received: from mac.com ([10.13.11.252])
by ms031.mac.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28
2007)) with ESMTP id <[email protected]> for [email protected]; Thu,
09 Aug 2007 04:24:50 -0700 (PDT)
Received: from mail.dsis.net (mail.dsis.net [70.183.59.5])
by mac.com (Xserve/smtpin22/MantshX 4.0) with ESMTP id l79BOnNS000101
for <[email protected]>; Thu, 09 Aug 2007 04:24:49 -0700 (PDT)
Received: from [192.168.2.77] (70.183.59.6) by mail.dsis.net with ESMTP
(EIMS X 3.3.2) for <[email protected]>; Thu, 09 Aug 2007 04:24:49 -0700
Date: Thu, 09 Aug 2007 04:24:57 -0700
From: Frank Sender <[email protected]>
Subject: Test
To: Joe User <[email protected]>
Message-id: <[email protected]>
MIME-version: 1.0 (Apple Message framework v752.2)
X-Mailer: Apple Mail (2.752.2)
Content-type: text/plain; charset=US-ASCII; format=flowed
Content-transfer-encoding: 7bit

0.0.0.0 1.1.1.1is it a valid input? What type of input do you expect from user?req.query.headercontains that input value?