Возможно ли ограничить страницу PHP некоторыми устройствами?

Я создал веб-приложение PHP, и я хочу, чтобы у моей жены тоже был доступ. Добавление защиты паролем добавляет ненужный пользовательский шаг – возможно ли ограничить страницу некоторыми устройствами (например, нашими iPhone, iPad и MacBook) независимо от сети Wi-Fi / 3G и т. Д.

Я не думаю, что PHP может определить MAC-адрес – так есть ли подходящий метод, отличный от защиты паролем?

Благодаря,

Майк

РЕДАКТИРОВАТЬ

Дополнительная информация, чтобы помочь уточнить:

Сервер работает на Debian / Linux (точнее, RaspBMC off-shoot из Raspbian).

Мне нужен доступ из любого места, дома и снаружи.

благодаря

Solutions Collecting From Web of "Возможно ли ограничить страницу PHP некоторыми устройствами?"

Безопасность через неясность?

Технически любое устройство может получить доступ к приложению, хотя для его выполнения потребуется «время», особенно если вы вынуждены спать (угадать, что простая комбинация из 10 цифр будет иметь максимальное время угадывания более 300 лет при сном 1 секунда, так что маловероятно, чтобы кто-то мог догадаться об этом правильно). Например:

 sleep(1); // Deter brute force if ($_GET['auth'] == 'sdfjksahdkfjshadkjrfhwaoieua3487a3wt897dywydd39d87haw387d8a3hd7a8hd387wahd089afh980a3yfh983ahf398ahsdaf') { //run app } else { //throw 404 } 

Сохраните ссылку на приложение на устройствах, к которым вы хотите получить доступ:

 http://www.applocation.com/app.php?auth=sdfjksahdkfjshadkjrfhwaoieua3487a3wt897dywydd39d87haw387d8a3hd7a8hd387wahd089afh980a3yfh983ahf398ahsdaf 

Потеряйте свой телефон / планшет / любое устройство, на которое у вас есть ссылка на приложение, и безопасность сразу же скомпрометирована, но, учитывая, что вы не хотите спускать маршрут с паролем, это будет так или иначе.

Это будет охватывать большинство ваших потребностей в безопасности. Это не безопасно, поэтому, если вы получили доступ к нему через тусклую общественную сеть, на которую люди следили, это угроза безопасности. Однако это зависит от того, насколько безопасно это вам нужно. Если вы храните банковские реквизиты / пароли на веб-странице (что в любом случае ужасно), я лично даже не рассмотрю этот вариант; 'на всякий случай'. Хотя, если это довольно незначительный материал, который не имеет большого значения, это абсолютно нормально. Основная идея заключается в том, чтобы остановить людей от случайного доступа к вещам, которые вы не хотите видеть.

Кроме того, если вы думаете, что, возможно, кто-то это нашел, вы можете просто обновить строку auth до чего-то другого.

На самом деле есть способы получить MAC-адрес пользователя, но в любом случае они могут быть подделаны.

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

Обновление было бы защищено от людей, которые сумели получить копию файла cookie (как-то …) от его использования навсегда.

Это также может быть что-то вроде отправки каждого запроса с «автоматическим» именем пользователя / паролем / ключом auth в сообщение или получить переменную, которая должна быть проверена сервером. Также есть падений, так как кто-то может обнюхивать ваши пакеты. Но в этот момент у вас, вероятно, больше проблем.

То, чего вы пытаетесь достичь, невозможно. HTTP не предназначен для предоставления идентификаторов оборудования, единственным «идентификатором» является User-Agent, который вообще не идентифицируется, и его можно обмануть, поэтому браузеры даже не получают доступ к этой информации. Это технически невозможно.