Получить сайт посетителя MAC-адрес активного lancard? - PullRequest
0 голосов
/ 14 января 2011

Мое требование - у меня есть часть сайта, которая должна позволять пользователю доступ только из одной системы. Он может использовать разные IP-адреса и отличаться тем, что если система одна и та же, он сможет получить доступ. Мой сайт на PHP. Делая некоторые исследования и разработки, я обнаружил, что JS помогает получить MAC-адрес, если посетитель использует IE. В моем случае я не могу ограничить пользователя в использовании IE. Он может использовать любой браузер. Есть ли способ получить MAC-адрес. Если это невозможно, как я должен ограничить доступ одного и того же пользователя к контенту с разных компьютеров.

Ответы [ 2 ]

2 голосов
/ 14 января 2011

Нет. MAC-адреса бесполезны за пределами локальной сети, поэтому они недоступны на верхних уровнях (например, прикладном уровне). Использование Javascript для получения адреса также не является абсолютно надежным, поскольку кому-то невероятно легко манипулировать.

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

Вы должны сгенерировать какой-то случайный ключ (или зашифровать строку), сохранить его на стороне сервера вместе с пользователем, которого вы хотите идентифицировать, а затем дать пользователю ключ для хранения в cookie / localStorage.

Хотя существует очевидная проблема очистки пользователем своих файлов cookie ...

Надеюсь, это даст вам некоторое преимущество.

1 голос
/ 07 августа 2012

Даниэль прав, попытка использовать MAC-адреса нецелесообразна.

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

Вы также можете реализовать сеансы с PHP.Каждый сеанс уникален для каждой системы и браузера.Если пользователь переключает браузеры или перезапускает их текущий браузер, сеанс воссоздается.

Вы также можете проверить его строку агента пользователя.Он будет отличаться для каждого браузера и, скорее всего, для каждой системы, но его можно легко подделать.

Вы также можете использовать обмен открытым / закрытым ключом, но это может быть затруднительно при реализации и управлении..

На самом деле не существует единственного надежного решения.Лучше всего, вероятно, использовать комбинацию техник, чтобы сделать ее "максимально надежной", насколько это возможно.Просто постарайтесь не делать это слишком неудобным для пользователя.

...