Есть ли способ белого списка IP-адреса с использованием исключительно JavaScript или мне нужно использовать php или какой-либо другой серверный язык? По белым спискам я имею в виду, что только определенное количество определенных IP-адресов может получить доступ к веб-странице. Если это невозможно с помощью JavaScript, пожалуйста, дайте мне знать.Как использовать IP-адреса White-List с Javascript?
ответ
Возможно, но было бы очень легко обойти проверку на стороне клиента на стороне клиента. Все, что нужно пользователю, - это отключить Javascript в своем браузере, и они смогут получить доступ к сайту.
IP-адрес белого - это, как правило, то, что делает веб-сервер (Apache, Nginx, IIS); Не веб-приложения (PHP, Python, NodeJS) и особенно обратите внимание на клиентские скрипты.
- Apache: https://httpd.apache.org/docs/2.4/howto/access.html
- Nginx: https://www.nginx.com/resources/admin-guide/restricting-access/
- IIS: https://technet.microsoft.com/en-us/library/cc731598(v=ws.10).aspx
Если вы действительно хотите сделать это на стороне клиента, то есть на самом деле взывать к службе, который говорит вам какой IP-адрес вы используете. См. this SO question для примеров того, как это сделать. Затем вы можете сравнить IP-адрес с массивом разрешенных IP-адресов. Если это не соответствует ни одному, самый простой способ запретить доступ - перенаправить пользователя с сайта.
Еще раз, КЛИЕНТСКИЕ ЗАЩИТНИКИ НЕЗАКОННЫ И НЕ НА ВСЕ РЕКОМЕНДУЕМЫЕ!
Я подозревал столько же, но, есть ли еще способ сделать это? Я не пытаюсь сделать его таким же безопасным, как Форт-Нокс, так что все будет. – YourEverydayCodingEnthusiast
@YourEverydayCodingEnthusiast не добавляет никакой безопасности, если они могут просто открывать инструменты разработчика и мгновенно обходить его – abc123
Я бы обратил внимание на советы, которые вы получаете, используя js для чего-либо, связанного с доступом, бессмысленно, за одним исключением: целая страница построена с помощью js и с отключенным js, буквально ничего не видно. Обратите внимание также, что боты, как правило, не будут исполнять js, поэтому белые списки будут делать ровно нулевой, чтобы не допустить, чтобы кто-то был нежелательным. Используйте php или другой язык на стороне сервера, это просто, тривиально действительно и будет работать. Любой, кто использует noscript, никогда даже не подозревал, что во всем мире есть белый список. – Lizardx
Javascript является клиентской стороной, поэтому его можно легко обойти. Это было бы лучше всего сделать с помощью вашего веб-сервера (скорее всего, Apache/IIS) –
вопрос немного для открытия. что такое серверное программное обеспечение, или пытаетесь сделать это в браузере и донге что-то вроде adblock/ghostry. есть ли какая-либо аутентификационная система пользователя, аутентификация ACL (контроль доступа) или похожий скрипт. если есть список блоков, есть разрешенный список. вы имеете дело с маршрутизатором/AP (точкой доступа) или как? –
Извините, я использую Github для размещения веб-страницы. Метод, который я описывал выше, в любом случае не обеспечит большую безопасность. Мне было просто интересно узнать, можно ли это сделать. В прошлый раз, когда я проверил, Github не поддерживает серверные языки. – YourEverydayCodingEnthusiast