2015-04-23 63 views
-1

我不是在談論任何.htaccess重寫規則。隱藏URL以隱藏敏感文件並阻止漫遊器/刮板

我正在開發一個web應用程序,我想隱藏bot/scrapers的URL - 它應該是類似question asked here的東西。

我們需要使URL像Trip Advisor所使用的方法一樣變得模糊。我嘗試了許多解決方案,包括上述問題中發佈的解決方案,但對我無效。

例如,我們有類似於example.com/file.php?u=jh843的網址,並希望以使其類似於LqMWJQiMnYeVtIJpEJCIQQoqnQQxGEcQQoqnQQeVtIJpEJCIQQoqnQexample.com/eVtIJpEJCIQQoqnQ的方式來掩蓋它 - 無論哪種方式它都會很好。

+0

爲您的數據生成隨機無法猜測的ID並使用它。但是,該網址仍然是網址。您可能無法只增加一個數字即可轉到下一頁,但仍可以訪問該頁面。 – deceze

+1

您在混淆和可訪問性之間取得平衡。您可以使用JavaScript來使刮板難以閱讀網址,但是您也可以使您的網站難以瀏覽不使用傳統瀏覽器的用戶。 – halfer

+0

也許只是更好地檢查您網站上的點擊次數 - 而且如果讀者在某段時間內製作太多或太多,則在接下來的一小時內爲該IP提供404s。另外,不要忘記機器人排除協議。 – halfer

回答

0

Tripadvisor解決方案看起來像點擊,javscript解碼字符串,然後加載url(我沒有看到他們在他們的網站使用它)。

但現代的機器人可以執行JavaScript。

一個解決方案是分配一個randoom字符串到你的服務器的url(就像一個簡單的$ ofuscated = base64_encode($ url。$ salt),可以在服務器上再次解碼),將它存儲在會話或數據庫中只分配給特定的用戶或任何訪問控制,如下載時間,IP塊...)。

但機器人可以使用會話,所以它仍然是一個鏈接。您可以設置唯一的控件,如果這是一次下載使用鏈接或用戶會話限制(僅適用於已記錄或特定用戶)。

並阻止對文件url的直接訪問。

+0

感謝您的幫助,主要目的是隱藏像file.php這樣的敏感文件我的例子,防止機器人只是側面目的。 –

+0

對於「合法」且友好的漫遊器,請使用帶有禁止網址的link和robots.txt文件中的rel =「no-follow」屬性。對於其他...也許不尋常的頻率時間訪問... – maztch

+0

檢查這裏的示例http://pastebin.com/6SLX85AN我們如何獲得base64編碼的url工作並在源代碼中顯示爲endcoded –