簡體   English   中英

如何允許用戶僅從辦公室登錄?

[英]How to allow user to login only from the office?

我有一個具有簡單用戶/通行證授權的Web應用程序。 客戶希望只允許他的員工在辦公室使用它。

最好的方法是什么?

  • 創建允許的IP列表,然后查看用戶的IP是否匹配?
  • 在用戶進入和離開辦公室時在數據庫中激活/停用用戶記錄(為管理員添加此工作)?
  • 也許將瀏覽器配置為向服務器(用戶代理)發送一些特定數據?
  • 還有嗎

Web應用程序是用PHP,PostgreSQL編寫的

您想使用實際上是安全的東西,而不是限制通過IP的訪問。

通過HTTPS連接的用戶名和密碼至少應該是不可識別的,但是您可能希望查看客戶端SSL證書。 可以在Apache或其他Web服務器軟件中配置它們。 如果用戶名/密碼認證還不夠,這是下一步(也許是最后一步)。

更新:

也就是說,許多應用程序提供商將為訂戶提供一種為其帳戶實現ACL的方法。 您甚至可以強迫人們在允許他們訪問您的服務之前考慮他們的ACL。 這樣想:

在您的系統中設置了一個帳戶,可以從任何地方登錄。 創建后,ACL為UNSET。 用戶登錄並立即進入ACL設置頁面,在該頁面中,他們必須提供與其帳戶關聯的IP地址或范圍或子網。 您可以很聰明地用現有的IP地址或子網填充事物,甚至可以在ARIN上查找事物,以查看其IP是否在分配給其帳戶公司名稱的網絡中。 一旦設置了ACL(或者,盡管您發出警告,他們仍然確認他們希望保持ACL處於打開狀態),他們就可以訪問您的服務。 如果他們嘗試從其他地方登錄,則會通過電子郵件(或SMS或其他方式)向他們(和您)通知您嘗試違規。 如果他們再也無法訪問其ACL列出的IP(例如,由於新的上游Internet提供商和規划不當而導致IP重新編號),他們可以致電您的電話支持人員,他們將通過其他方式對其進行驗證。 確認傳真,因為這樣非常安全...

用戶管理的ACL並不是“放心”的方式,但它可能足以滿足您的需求,並且肯定會在您的客戶中灌輸一種感覺,即您將最大的利益放在心上。

我找到了一種簡單的方法來查看用戶是否已從辦公計算機登錄到Web應用程序:

手動在瀏覽器的配置參數 'user-agent'中添加一些字符串,並檢查$_SERVER['HTTP_USER_AGENT']是否包含該字符串

例如“ Mozilla / 5.0(Windows NT 6.1; rv:27.0)Gecko / 20100101 Firefox / 27.0 OFFICE”

當然,這絕對不安全,但它可能適合客戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM