是否可以将PHP页面限制为某些设备?

时间:2013-08-23 11:39:28

标签: php authentication authorization restriction

我已经构建了一个PHP Web应用程序,我只希望我的妻子和我也可以访问它。添加密码保护会增加不必要的用户步骤 - 是否可以将页面限制为某些设备(例如我们的iPhone,iPad和MacBook),无论wifi / 3G网络如何等。

我不认为PHP可以确定MAC地址 - 除了密码保护之外还有合适的方法吗?

谢谢,

麦克

修改

有助于澄清的一些进一步信息:

服务器在Debian / Linux上运行(准确地说是RaspBMC的RaspBMC off-shoot)。

我需要从任何地方,家里和外面访问。

由于

3 个答案:

答案 0 :(得分:1)

实际上有一些方法可以获取用户的MAC地址,但无论如何这些都可以被欺骗。

我建议为你和她制作一个cookie,并要求它的数据(如一个密钥)作为身份验证,然后立即更新。

更新它可以防止那些因为使用它而无法获取cookie副本(不知何故......)的人。

也可能是将每个请求都带有“自动”用户名/密码/身份验证密钥,发送到post或get变量,由服务器检查。也有垮台,因为有人可能会嗅探你的数据包。但在那时,你可能会遇到更大的问题。

答案 1 :(得分:1)

通过默默无闻的安全性?

从技术上讲,任何设备仍然可以访问该应用程序,虽然它需要一段时间才能完成,特别是如果你强迫睡眠(猜测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字符串更新为不同的东西。

答案 2 :(得分:0)

你想要实现的目标是不可能的。 HTTP不是为提供特定于硬件的标识符而设计的,唯一的“标识符”是根本不识别的用户代理,并且它可能是欺骗性的,因此浏览器甚至不访问该信息。 这在技术上是不可能的。