> ## Content Index
> Fetch the complete content index at: https://blog.themarfa.name/llms.txt
> Use this file to discover other available public pages before exploring further.

# Как настроить блокировку статей на сайте по ГЕО посетителя
- URL: https://blog.themarfa.name/kak-nastroit-blokirovku-statiei-na-saitie-po-gieo-posietitielia/
- Published: 2024-02-20T06:24:17.000Z
- Updated: 2024-02-20T06:24:16.000Z
- Description: Если вы владелец сайта с техническими статьями, наверняка вы знаете, что с 1 марта 2024 года в России запрещено публиковать посты про VPN, который помогает в обходе блокировок. И как быть с такими статьями на вашем ресурсе, решительно непонятно.
- Author: Константин Докучаев
- Tags: etc

Если вы владелец сайта с техническими статьями, наверняка вы знаете, что с 1 марта 2024 года в России запрещено публиковать посты про VPN, который помогает в обходе блокировок. И как быть с такими статьями на вашем ресурсе, решительно непонятно.

### Что же делать

Я не юрист и сам не знаю, как правильно, но на некоторых крупных ресурсах я видел, что такие статьи просто недоступны для просмотра из РФ. И реализовать такую блокировку можно очень легко с помощью скрипта ниже.

Демка работы скрипта

### Кратко как оно работает

Я ещё и не разработчик, поэтому во всех красках описать код выше не смогу. Но в целом от вас требуется добавить на сайт скрипт jquery. Для этого нужно добавить следующий код в тег `<body></body>` вашего сайта.

```html
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="script.js"></script>
```

И добавить вызов следующего скрипта на нужную страницу, где из комментариев и так всё понятно.

```js
// Функция для получения местоположения пользователя по IP с использованием ipapi.co
function getUserLocation(callback) {
    $.get("https://ipapi.co/json/", function(response) {
        callback(response.country_name);
    }, "json");
}

// Функция для скрытия контента для пользователей из России
function hideContentForRussianUsers() {
    const contentDivs = Array.from(document.getElementsByClassName('content'));
    
    getUserLocation(function(country) {
        if (country === 'Russia') {
            contentDivs.forEach(function(contentDiv) {
                contentDiv.innerHTML = '<p>В этом примере местоположение пользователя определяется с помощью ipapi.co и вместо контента показывается это сообщение для пользователей из России</p>';
            });
        }
    });
}

// Вызываем функцию скрытия контента для пользователей из России
hideContentForRussianUsers();
```

- С помощью сервиса <https://ipapi.co/> определяем IP пользователя.
- Если пользователь из РФ, то скрываем для него весь контент внутри тега с классом `content` и отображаем всплывающее сообщение.

Чтобы скрыть текст на вашем сайте, в строчке `const contentDivs = Array.from(document.getElementsByClassName('content'));` нужно поменять на класс или ID тега, который используется на вашем ресурсе.