2011-05-26 27 views
2

我想,讓我的網站上唯一的移動設備,如黑莓,iPod的觸摸,iPhone,Android等網站:只允許iPod的,Android,黑莓,Windows Mobile

我如何確保只有這些設備才能進入我的網站,並確保其他用戶被重定向到自定義的「禁止訪問」頁面?

有沒有一種簡單的方法使用Ruby on Rails來實現這一點?

+1

服務器端可以通過讀取標題知道發出請求的設備的種類。但我不會太信任這些標題,因爲它們可以修改。如果安全性是真正的需求,不要相信這些信息。 – Nerian 2011-05-26 17:04:26

+0

@Nerian--我不能阻止那樣的人,我也不在乎。我只是不想爲平均非移動用戶創建單獨的用戶界面。 – 2011-05-26 17:10:41

+0

但我認爲這些用戶寧願看到一個沒有針對他們的平臺進行優化的版本。 – Nerian 2011-05-26 18:31:34

回答

3

您希望提取一個名爲「User-Agent」的請求標頭並查看它是否與您聲明的任何設備相匹配。如果沒有,則重定向到適當的頁面。是的,這可以通過Ruby on Rails完成。

+0

看到這個問題的Ruby on Rails用戶代理檢測http://stackoverflow.com/questions/4707400/rails-browser-detection-methods – Mark 2011-05-26 17:16:46

+0

啊......當然。用戶代理。我挖了一下。在http://stackoverflow.com/questions/233802/rails-detecting-user-agent-works-in-development-but-not-production和http://asciicasts.com/episodes/151-rack-middleware之間,以及http://www.developershome.com/wap/detection/detection.asp?page=userAgentHeader我認爲我應該能夠湊齊解決方案。 – 2011-05-26 17:23:09