X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/7c6a88295f8d33688c5a178fd5e6b317b000d91f..7fba4ec99738cc69ee773e7f79418a9353029aaa:/lib/init-website.php?ds=sidebyside diff --git a/lib/init-website.php b/lib/init-website.php index 36928628..6db2ac37 100644 --- a/lib/init-website.php +++ b/lib/init-website.php @@ -1,22 +1,34 @@

Access blocked

"; - echo "Your IP has been blocked for overusing OpenStreetMap's volunteer-run servers.
\n"; - echo 'Please consult the Nominatim usage policy for more information.'; - echo "\n\n"; - exit; - } + if (strpos(CONST_BlockedIPs, ','.$_SERVER["REMOTE_ADDR"].',') !== false) + { + header('HTTP/1.0 403 Forbidden'); + header('Content-type: text/html; charset=utf-8'); + echo "

Access blocked

"; + echo "Your IP has been blocked for overusing OpenStreetMap's volunteer-run servers.
\n"; + echo 'Please consult the Nominatim usage policy for more information.'; + echo "\n\n"; + exit; + } - header('Content-type: text/html; charset=utf-8'); + $sTempBlockedIP = file_get_contents(CONST_IPBanFile); + if (preg_match('/\b'.$_SERVER["REMOTE_ADDR"].'\b/', $sTempBlockedIP)) + { + header('HTTP/1.0 503 Service Temporarily Unavailable'); + header('Content-type: text/html; charset=utf-8'); + echo "

Access blocked

"; + echo "Your IP has been blocked temporarily for overusing OpenStreetMap's volunteer-run servers. This ban will be lifted automatically in a while. To avoid further blocks, please read the
\n"; + echo 'Nominatim usage policy carefully before you continue to use this service.'; + echo "\n\n"; + exit; + } + + }