1

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

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

谢谢,

麦克风

编辑

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

该服务器在 Debian/Linux 上运行(准确地说是 Raspbian 的 RaspBMC 分支)。

我需要从任何地方访问,无论是家里还是外面。

谢谢

4

3 回答 3

1

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

我建议为您和她制作一个 cookie,并要求其中的数据(如密钥)作为身份验证,并且不时更新。

更新它可以防止那些设法获得 cookie 副本(不知何故......)的人永远无法使用它。

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

于 2013-08-23T11:43:09.513 回答
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 字符串更新为不同的内容。

于 2013-08-23T12:06:31.183 回答
0

你想要达到的目标是不可能的。HTTP 并非旨在提供特定于硬件的标识符,唯一的“标识符”是根本不识别的用户代理,它可以被欺骗,因此浏览器甚至无法访问该信息。这在技术上是不可能的。

于 2013-08-23T11:56:02.390 回答