Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Geo Пользователя., Доступ к сайту с одного города.
Kimka  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 46646
На форуме: 1 год, 1 месяц, 23 дня
Карма:




Всем добрый день.
Подскажите (помогите) пожалуйста мне нужно ограничить доступ к сайту что бы его могли видеть только в одном городе (индексировать в том числе)
Я попробовал сделать через гео ип (код приложу ниже) но получается так что с дом вай фая я захожу норм но как только переключаюсь на мобильные дные то сайт не доступен.
гео ип

<?php
header('Content-Type: text/html; charset=utf-8'); // Установим кодировку страницы


function getUserGeo() {

if(!empty($_SERVER['HTTP_CLIENT_IP'])) {

$userIP = $_SERVER['HTTP_CLIENT_IP'];

} elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$userIP = $_SERVER['HTTP_X_FORWARDED_FOR'];

} else {

$userIP = $_SERVER['REMOTE_ADDR'];

}

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, 'http://ip-api.com/json/'.$userIP);

$data = curl_exec($ch);

curl_close($ch);

return json_decode($data, true);

}


$getUserGeo = getUserGeo();

if($getUserGeo['status'] == 'success') { // Если получили данные от сервиса

if($getUserGeo['city'] != 'gorod') {

// Устанавливаем 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();


}

} else { // Если НЕ получили данные от сервиса

/*

Выполняем нужное действие, например, отправляем уведомление на почту.
В нашем случае - просто остановка скрипта.

*/

die();

}
?>

Эту часть вставил в файл конфига
include_once 'lock.php'


Вот вопроса два.
1) можно ли как то сделать доступ к сайту именно по геолокации смартфона? если да то посоветуйте какой нибудь мануал или поделитесь примерами) буду очень сильно благодарен.
2) Может быть есть какой то более простой способ ограничить доступ по региону? тк гео ип затрагивает еще и роботов и не дает им возможность анализа
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса