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