Skip to content

Instantly share code, notes, and snippets.

@tbreuss
Last active December 21, 2023 20:29
Show Gist options
  • Star 35 You must be signed in to star a gist
  • Fork 17 You must be signed in to fork a gist
  • Save tbreuss/74da96ff5f976ce770e6628badbd7dfc to your computer and use it in GitHub Desktop.
Save tbreuss/74da96ff5f976ce770e6628badbd7dfc to your computer and use it in GitHub Desktop.
IP Blacklist Check Script - This is a simple PHP script to lookup for blacklisted IP against multiple DNSBLs at once.
<?php // Simple PHP script to lookup for blacklisted IP against multiple DNSBLs at once. ?>
<html>
<head>
<title>DNSBL Lookup Tool - IP Blacklist Check Script</title>
</head>
<body>
<h2>IP Blacklist Check Script</h2>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<input type="text" value="" name="ip"/>
<input type="submit" value="LOOKUP"/>
</form>
<?php
/**
* The IP-address to be looked up.
* @param string $ip
*/
function dnsbllookup($ip)
{
// Add your preferred list of DNSBL's
$dnsbl_lookup = [
"dnsbl-1.uceprotect.net",
"dnsbl-2.uceprotect.net",
"dnsbl-3.uceprotect.net",
"dnsbl.dronebl.org",
"dnsbl.sorbs.net",
"zen.spamhaus.org",
"bl.spamcop.net",
"list.dsbl.org"
];
$listed = "";
if ($ip) {
$reverse_ip = implode(".", array_reverse(explode(".", $ip)));
foreach ($dnsbl_lookup as $host) {
if (checkdnsrr($reverse_ip . "." . $host . ".", "A")) {
$listed .= $reverse_ip . '.' . $host . ' <font color="red">Listed</font><br />';
}
}
}
if (empty($listed)) {
echo '"A" record was not found';
} else {
echo $listed;
}
}
if (isset($_POST['ip']) && $_POST['ip'] != null) {
$ip = $_POST['ip'];
if (filter_var($ip, FILTER_VALIDATE_IP)) {
echo dnsbllookup($ip);
} else {
echo "Please enter a valid IP";
}
}
?>
</body>
</html>
@mondtram
Copy link

Hello.
The script works ok on A records, but actually due to my type of work i do not use A records but we add Name Servers. Can you please help me on how to change the script to work on NS.

Regards,
Mond

@heysushil
Copy link

It works perfectly. Grete work
Thank You!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment