2012-11-16 96 views
2

假設頁面爲example.com/blog/data.php。我正在使用file_get_contents來獲取另一個腳本頁面中的內容。現在,我想:有沒有辦法阻止訪客瀏覽的帖子?

  1. 禁止谷歌搜索抓取和索引data.php頁面。
  2. 禁止訪客訪問

有沒有辦法來實現這一目標?

回答

2

如果請求url爲example.com/blog/data.php,您可以重定向到另一個頁面,但更容易和更合理的解決方案是將文件移出Web根目錄。

編輯:

if ($_SERVER['REQUEST_URI'] === $_SERVER['SCRIPT_NAME']) 
{ 
    header('Location: /'); // redirect to home page 
} 
如果你真的想保持網絡的根目錄裏面的文件,你可以在腳本的頂部,你不想直接訪問使用這樣的

但是,這可能不會與file_get_contents結合使用(您需要從結果中刪除這些行),您可以改爲include

+0

如何重定向到example.com/blog/data.php中的另一個頁面? – 123

+0

@ 123看我的編輯。 – jeroen

1

請勿將data.php置於Web根目錄下。將其保存在並行目錄中。

+0

如何禁止谷歌搜索抓取和索引data.php頁面。 – 123

+0

你在答案中做了什麼。如果它不在Web根目錄下,則它沒有URL。如果它沒有網址,則Google無法抓取它。 – Quentin

+0

如果沒有url,如何使用file_get_contents獲取頁面內容? – 123

0

只對授權用戶應用訪問限制。您可以通過使用URL作爲至尊訪問密碼,你的頁面做的最簡單的方法:

example.com/blog/data.php?secret=someblah

,並在你的第一個文件數據的.PHP做到以下幾點:

<?php 
if (!isset($_GET['secret']) || $_GET['secret'] != 'someblah')) exit(); 
?> 

但是,建議不要使用這種公共電腦,原因是其並不安全,但它是原始的認證原則。

0

您可以通過GET傳遞令牌。總體而言,你的方式有點不對。爲什麼不把data.php邏輯合併到調用它的腳本中。

相關問題