2010-10-05 30 views
2

我需要在生產環境所在的同一臺服務器上託管開發和測試版網站(讓我們讓實際的原因飛吧)。我應該如何隔離開發和/或測試版網站 - 從公共和搜索引擎機器人?

爲了讓事情變得簡單,我可以在開發和測試版上接受相同的保護措施 - 基本上不會讓它出現蜘蛛,並且在用戶名和密碼上添加一些內容以防止所有人和他們的兄弟從獲取(再次,需要實用)。我意識到很多人會希望在測試版上擁有不同的權限,但這不是這裏要求的一部分。

使用robots.txt文件給定的,但隨後的問題是:應該在其他主機(S)(又名「子域(S)」)作爲被防止意外蜘蛛增加的預防措施提交給谷歌網站管理員工具?它應該不言而喻,但不會直接鏈接到開發/測試版網站,因此您必須完美地輸入地址(不需要通過URL重寫或其他幫助進行增強)。

怎樣才能限制我們的團隊訪問?由於各種互聯網接入方式(在帶WiFi的午餐地點舉行會議等),IP地址將不起作用。

也許有開發/測試和生產INCLUDE一個小文件(或調用組件),以查找URL變量設置(在開發/測試點)或不認準網址變量(上生產場地)。通過這種方式,您可以在各自的站點上放置不同的INCLUDE或組件(命名相同),否則源文件在從開發移到生產時不需要更改。

我真的想避免在任何級別(應用程序級別或Web服務器)全面的用戶認證,和我認識到,離開事相當開放,但我們的目標實際上只是防止預生產場所無意中瀏覽。

回答

2

通常我會看到基於Web服務器的身份驗證,所有用戶都有一個共享的用戶名和密碼,這應該很容易設置。一個有趣的技巧可能是檢查一個cookie,然後只是有一個更好的隱藏頁面來設置該cookie。您可以在每個人訪問該網頁時移除該頁面,或者僅爲該文件實施身份驗證,或允許僅從辦公室訪問該頁面,並要求在家工作的人員使用VPN或在他們清除Cookie後訪問辦公室。

+0

+1,我喜歡cookie的想法,以消除登錄(適用於類似exec的團隊成員),但仍使用基於Web服務器的身份驗證。好主意。謝謝。 – 2010-10-05 18:06:45

1

我完全不知道這是否是「正確」的方式去做,但對於我們而言,我們將所有Dev和Beta站點放在爬行程序/蜘蛛/索引器永遠不會去的非常高的端口號上(實際上,我不知道任何超出80端口的東西,除非他們遵循直接鏈接)。

然後,我們有一個參考索引頁面,其中列出了所有鏈接到其各自端口號的網站,只有該網頁受密碼保護。對於涉及真實貨幣交易或其他敏感數據的網站,我們會在網站頂部顯示一條簡短的紅色條,說明它只是一個演示服務器,但有人很少有機會直接訪問Dev URL和Port#。

索引頁面也位於非標準(!= 80)端口上。但即使抓取工具要到達它,也不會超過密碼輸入,並且永遠不會找到到所有其他端口的直接鏈接。

這樣,您的開發人員就可以使用直接的URL和端口訪問這些頁面,並且他們有一個密碼保護的備份索引,如果他們忘記了。

+0

+1,不錯,它聽起來不合適,但它確實是一個簡單的方法。不過,我認爲港口掃描儀有很多活動。雖然我們沒有PHP或MySQL的風格,但機器人可能不會觸及它,但它可能會遭到一些黑客攻擊(我們的IIS日誌顯示了很多管理PHPmyAdmin等的嘗試)。 – 2010-10-05 19:43:54

+0

我同意。據我所知,我們使用的端口沒有被任何其他主流產品(如phpMyAdmin)使用,所以除非有人正在進行端口掃描,否則他們不會知道在那裏看到。 – Pewpewarrows 2010-10-05 19:54:37