2013-08-23 82 views
1

我已經構建了一個PHP Web應用程序,我只希望我的妻子和我也可以訪問。添加密碼保護添加了不必要的用戶步驟 - 是否可以限制頁面到某些設備(例如我們的iPhone,iPad和MacBook),無論WiFi/3G網絡等。是否可以將PHP頁面限制到某些設備?

我不認爲PHP可以確定MAC地址 - 除了密碼保護之外,還有其他合適的方法嗎?

感謝,

邁克

編輯

一些進一步的信息,以幫助澄清:

服務器在Debian/Linux操作系統(該RaspBMC旁枝Raspbian的運行要精確)。

我需要從任何地方,家庭和外面訪問和訪問。

感謝

+0

你的意思是所有的iPhone或特定的iPhone? –

+1

要限制到設備,請檢查通常包含正在請求頁面的$ _SERVER ['USER_AGENT']。但是這可能是欺騙性的。但是,如果您只希望您和您的妻子成爲唯一的出路,那麼添加密碼保護並不是一個不必要的步驟。您可以添加會話處理,以便每次都不必輸入憑據。 –

+0

客戶端SSL證書將是另一個無密碼認證解決方案。 – vstm

回答

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字符串更新爲不同的東西。

+0

這對我的需求是完美的,謝謝! - 這是否也會阻止GoogleBot等? –

+0

只要你永遠不會鏈接到它,Googlebot永遠不會找到它。我將添加一些關於其安全性的額外說明 – MLeFevre

+0

您可以將robots.txt文件添加到Web根目錄以阻止谷歌索引,google robots.txt,並且您應該能夠找到關於如何放置搜索以阻止搜索的教程索引。 –

1

其實有方法來獲得用戶的MAC地址,但這些反正可以被欺騙。

我會建議爲你和她做一個cookie,並要求它的數據(如密鑰)作爲身份驗證,並隨時更新。

更新它可以防止已經管理得到cookie副本(某種程度上...)的人永遠使用它。

它也可能是像發送每個請求與'自動'用戶名/密碼/身份驗證密鑰,到帖子或變量,由服務器檢查。也有倒臺,因爲有人可能會嗅探你的數據包。但在那個時候,你可能有更大的問題。

+0

Cookie可能是當時的方式 - 這是否也允許額外的設備臨時訪問? (說我的工作電腦) - 謝謝。 –

+0

如果你在你的服務器上設置它來處理它,那麼是的。獲取臨時訪問權限可能最好通過密碼共享 – Shade

0

你試圖實現的是不可能的。 HTTP並不旨在提供特定於硬件的標識符,唯一的「標識符」是完全不能識別的用戶代理,它可能被欺騙,因此瀏覽器甚至不訪問該信息。 這在技術上不可行。

相關問題