Как заблокировать все европейские IP-адреса?

Я хочу создать сайт для говорящего на определенном языке, не живущего в Европе, и я не хочу ни за что нести ответственность или необходимости читать законы в случае, если один или два человека подключатся оттуда. Есть ли какой-либо простой способ (возможно, регулярное выражение?) Для приложения Node.js / Express заблокировать все европейские IP-адреса без необходимости делать запрос на подключение к сторонним службам?

Google может быть вашим другом здесь, ищите геолокацию

Mikkel 26.12.2018 05:36

@Mikkel Так делал полчаса. Я вижу только стороннее API-решение. Я нашел этот (github.com/yourtion/node-ip2region#readme) проект, который, похоже, использует некую автономную базу данных, но программа, похоже, выводит на языке, который я не понимаю.

Robert C. Holland 26.12.2018 05:42

Независимо от того, что вы делаете. Вы можете предотвратить, но не можете гарантировать, поэтому некоторые пользователи используют VPN-соединения.

maytham-ɯɐɥʇʎɐɯ 26.12.2018 05:47

Почему вы хотите заблокировать именно Европу (кстати, вы имеете в виду Европейский Союз)? Почему вас беспокоит европейское право, а не индийское / китайское / австралийское?

visibleman 26.12.2018 05:48

Да, по законам Европейского Союза. Я не знал, что подобные законы существуют в Индии / Китае / Австралии. Думаю, мне тоже нужно будет заблокировать их.

Robert C. Holland 26.12.2018 05:50

Никто не знает, потому что вы не указали конкретно, какие законы вас беспокоят.

visibleman 26.12.2018 05:51

Я тоже не уверен. Я думаю, это законы GDRP. Идея состоит в том, что я не хочу беспокоиться, поскольку почти никто из пользователей не будет из Европейского союза, поскольку это сайт с редким языком. Я просто не хочу нести ответственность за одного или двух пользователей, которые могут решить использовать его из этих мест.

Robert C. Holland 26.12.2018 05:53

@ maytham-ɯɐɥʇʎɐɯ Я на 95% уверен, что в моей целевой стране нет подобного ограничивающего закона. И я нахожусь в США, что достаточно снисходительно.

Robert C. Holland 26.12.2018 05:56

GDPR имеет значение только в том случае, если вы храните личную информацию.

Mike 'Pomax' Kamermans 26.12.2018 06:25

@ Mike'Pomax'Kamermans Я не хочу, чтобы юрист выяснил, что ЕС подразумевает под личностью.

Robert C. Holland 26.12.2018 06:27

вам не нужен адвокат. Интернет пытался понять это больше года назад, просто прочтите любое количество качественных постов на нем. Занимает меньше времени, чем публикация вопроса на SO и последующее ожидание ответов, которые на самом деле не решают вашу проблему (потому что посетители из ЕС, использующие VPN, являются посетителями из ЕС все еще. GDPR касается люди, а не IP-подключений, поэтому, если вы сохраняете пользователя данные, даже если вы блокируете IP-адреса, вам придется бороться с GDPR)

Mike 'Pomax' Kamermans 26.12.2018 06:34

Сомнительно, может ли GDPR вообще применяться, если вы не живете в стране ЕС, не ведете бизнес в ЕС и даже не рекламируете веб-сайт гражданам ЕС.

eschwartz 26.12.2018 08:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
12
750
2

Ответы 2

Самый простой способ - использовать бесплатный API-интерфейс IP-определения местоположения (http://ip-api.com/), чтобы найти местоположение пользователя, а затем ограничить доступ с помощью переменной.

if (loc == region) {
    redirect = true;
}

Не обращаясь к API, единственный другой способ - просто спросить, из какой они страны, однако они могут быть не слишком правдивы по этому поводу.

Я стараюсь избегать сторонних сервисов, которым мне приходится звонить по каждому запросу. Интересно, что сайт, на который вы ссылаетесь, блокируется расширением UBlock origin как шпионское ПО / служба отслеживания рекламы, поэтому не уверен, насколько ему можно доверять. Я предполагаю, что спросить пользователей, откуда они, - это решение, я, вероятно, не несу ответственности, если они лгут.

Robert C. Holland 26.12.2018 05:46

Проблема в том, что IP-адреса постоянно перемещаются, поэтому вам понадобится доступ к актуальной базе данных, другие варианты - это просто разные формы геолокации. Кстати, я только что нашел этот API через поиск Google, вероятно, лучше всего изучить его для использования.

Justin Bugeja 26.12.2018 06:00

Не ответ

Поскольку кажется, что это касается GDPR, я решил связать некоторую информацию.

Я не юрист, и это не юридический сайт, поэтому делайте с информацией, что хотите.

https://www.gdpreu.org/the-regulation/who-must-comply/

This outlines non-exhaustive examples for deciding whether there is sufficient evidence that a firm is within the GDPR’s scope:

May be insufficient evidence

  • The firm’s website is accessible to EU residents
  • The firm’s email or other contact details is accessible to EU residents
  • The firm is located in a non-EU state that speaks the same language as an EU state

May be sufficient evidence

  • The firm markets its goods and services in the same language as that which is generally used in an EU member state
  • The firm lists prices in EU member state currencies (the Euro, British pound sterling, Swiss franc, etc.)
  • The firm cites EU customers or users

This recital therefore provides a safe harbor to firms that do not market goods or services to the EU, by calling out that they do not need to undertake potentially expensive processes to block EU IP addresses from accessing their websites or reject emails sent by EU mail servers.

It further suggests a nuanced interpretation when it comes to marketing language. One possibility is that languages commonly used outside of EU states such as English or Spanish will not be by themselves deemed sufficient evidence of intent to offer goods and services to EU residents, whereas languages more local to EU member states, such as Bulgarian or Estonian, may be sufficient alone.

Другие вопросы по теме