2014-12-25 29 views
-2

我有視頻網站,我擔心如果有人寫一個腳本,提取所有我的數據庫,並使用它,因爲我用地址中的視頻ID作爲查詢字符串說每個頁面哪些視頻必須顯示。如何避免某人獲取我的數據庫?

例子:

http://example.com/video/215/videotitle 

215是我的視頻ID和videotitle是我視頻的標題,我想有一些像YouTube:

www.youtube.com/watch?v=__zj6ibrq04 

我怎樣才能做到這一點? 我應該提到,我使用mod_rewrite來得到這樣的地址,所以我絕對擔心有人抓取我的數據庫,因爲他們可以知道視頻ID。

這很糟糕,因爲ID是我的數據庫中的自動增量主鍵! 有什麼建議嗎?

+0

我想你可以從這個鏈接得到你的問題的解決方案.................... http://stackoverflow.com/questions/7356555/better-方式替換查詢字符串價值在給定url –

+0

我看了你的鏈接,我不喜歡它!我需要某事真的很特別! –

+0

使用隨機字母的唯一字符列有什麼問題?你必須弄清楚如何自己處理衝突,但是任何有11個以上角色的字符串都會有很低的衝突可能性。 – Lucas

回答

2

如果您所有的網頁都公共,即任何人都可以去任何網站在任何時候,只有一個東西,你可以做針對機器人自動刮您的網站:檢測刮的行爲,並阻止它。這意味着您需要通過IP地址和/或其他特徵來跟蹤每個訪問者,並且一旦他們在特定時間窗口內請求太多頁面,就會拒絕訪問他們。不,這不是微不足道的。

在這種情況下,你的網址看起來並不重要;您可能認爲YouTube的網址「不可猜測」,但是(大部分)YouTube的視頻完全是公開的,可以通過瀏覽YouTube的首頁來發現。沒有必要猜測URL,這是一個不相關的細節。即使他們不是,你可以簡單地開始嘗試從__aaaaaaaa__9999999的每一個URL。這需要一段時間,但這是可能的。

+0

你是對的,但沒有鎖關閉門比任何陌生人打開它好! –

+1

@AmirH,這兩種方案都是可以猜測的,而且很容易掃描。你想在這裏實現什麼......你的「數據庫」的價值是什麼? – Offbeatmammal

相關問題