Last active
October 30, 2024 12:26
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
Be aware: zen.spamhaus.org marks a lot of private ip adresses, which don't send out spam and fill out regular forms.
I would recommend using primarily uceprotect level 1, 2 and also 3.
you do know that uceprotect is even worst than spamhaus.
At least spamhaus has a usable delisting process and keeps its listings up to date.
Not to mention uceprotect charges for removal even if it is not your problem.
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
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
Be aware: zen.spamhaus.org marks a lot of private ip adresses, which don't send out spam and fill out regular forms.
I would recommend using primarily uceprotect level 1, 2 and also 3.