我在創建php
網站,其中我有一個document.php
,基本上需要did (document ID)
並顯示它。一個例子是mysite.com/document.php?did=1
,它使用諸如SELECT * FROM documents WHERE id=1
之類的查詢從數據庫中獲取文檔內容。我知道這種方法(如SQL注入)的安全問題,我都做了驗證和轉義,但有一個人告訴我的一件事是,創建一個爬行器可以非常簡單:在網站上顯示文章ID
for(int i = 0; i < 3000; ++i)
DownloadPage("mysite.com/document.php?did="+i);
現在我有2個問題。
- 這是真的是我寫的代碼還是有另一個解決方案呢?例如,我知道我可以告訴Apache服務器限制一個IP的帶寬使用。 (或者可能是你提供的一個更好的選擇。)
- 如果這是一個問題,我有一個解決方案在我的腦海。我想我應該添加另一個參數到頁面。就像內容的散列一樣,將根據數據庫檢查它是否是正確的URL。
有一件事我看到很多是有時標題的一部分被追加到URL。就像這樣: mysite.com/document/1/some_part_of_the_url
但我檢查過了,如果我刪除標題並轉到mysite.com/document/1
它仍然會顯示相同的網頁。這讓我覺得這不是出於安全原因,更像是幫助用戶找出他要訪問的頁面的標題。
如果沒有別的,使用URL中的標題將幫助您與SEO。沒有人會在Google中搜索「Post#1」:) – jmort253 2012-03-03 10:42:26
是可供所有頁面瀏覽者或僅登錄用戶使用的文檔嗎? – 2012-03-03 10:43:53