Как заблокировать доступ к сайту СТРАНУ
1.
Волан-де-Морт (20.10.2022 / 23:12)
Допустим хочу заблокировать катай, чтобы при заходе на мой сайт видели "Вам закрыт доступ" ???
2.
GodZiLLa (21.10.2022 / 08:01)
Через клаудфлейр. Там любые фильтры можно выставить.
3.
ВЛАДИМИР (23.10.2022 / 16:37)
$ip = $_SERVER['REMOTE_ADDR']; $query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip.'?lang=ru')); $GPS = ' '.$query['org'].','.$query['regionName'].', '.$query['country'].', '.$query['city'].' ' ;
4.
Евгений (26.10.2022 / 04:52)
<?Php
header('Content-Type: text/html; charset=utf-8'); // Установим кодировку страницы
echo' <meta name="viewport" content="width=device-width,initial-scale=1" />';
if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { // Если сайт подключен к Cloudflare
$user_ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
} else {
$user_ip = $_SERVER['REMOTE_ADDR'];
}
$user_info = file_get_contents('http://ip-api.com/php/'.$user_ip.'?fields=country,city&lang=ru');
$user_info = unserialize($user_info); // Массив с данными об IP
/*
Доступные данные:
$user_info['country'] - страна
$user_info['city'] - город
*/
if($user_info['country'] == 'Украина') { // Проверяем страну посетителя
// Устанавливаем 503 ответ от сервера (сервис недоступен)
@header('HTTP/1.1 503 Service Temporarily Unavailable');
@header('Status: 503 Service Temporarily Unavailable');
echo <<<HTML
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Сайт временно недоступен</title>
<style>
body {
padding: 0;
margin: 0;
background: #f4f4f4;
}
h1 {
color: #333;
text-align: center;
font-size: 22px;
font-weight: 400;
padding: 30px 0 0 0;
}
</style>
</head>
<body>
<h1>Извините, но для Вашей страны заблокирован доступ к нашему сайту =(</h1>
</body>
</html>
HTML;
die();
}
?>
5.
Александр (10.11.2022 / 13:14)
<?Phpheader('Content-Type: text/html; charset=utf-8'); // Установим кодировку страницы echo' <meta name="viewport" content="width=device-width,initial-scale=1" />';if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { // Если сайт подключен к Cloudflare $user_ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } else { $user_ip = $_SERVER['REMOTE_ADDR']; } $user_info = file_get_contents('http://ip-api.com/php/'.$user_ip.'?fields=country,city&lang=ru'); $user_info = unserialize($user_info); // Массив с данными об IP /* Доступные данные: $user_info['country'] - страна $user_info['city'] - город */ if($user_info['country'] == 'Украина') { // Проверяем страну посетителя // Устанавливаем 503 ответ от сервера (сервис недоступен) @header('HTTP/1.1 503 Service Temporarily Unavailable'); @header('Status: 503 Service Temporarily Unavailable'); echo <<<HTML <!DOCTYPE html> <html lang="ru"> <head> <title>Сайт временно недоступен</title> <style> body { padding: 0; margin: 0; background: #f4f4f4; } h1 { color: #333; text-align: center; font-size: 22px; font-weight: 400; padding: 30px 0 0 0; } </style> </head> <body> <h1>Извините, но для Вашей страны заблокирован доступ к нашему сайту =(</h1> </body> </html> HTML; die(); }?>
HTTP_CF_CONNECTING_IP - подменяется. Это ведь заголовок
6.
Вантуз-мен (10.11.2022 / 13:24)
Евгений, если CF то он сам возвращает код страны
https://developers.cloudflare.com/fundamentals/get-started/reference/http-request-headers/
Нет необходимости обращаться к ip-api.com
А так да, нужно проверять от кого пришли заголовки
7.
Евгений (11.11.2022 / 00:17)
Вантуз-мен, я с vpn зайти к себе не смог,когда написал
Германия
URL:
https://visavi.net/topics/44733