2012-11-16 64 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逻辑合并到调用它的脚本中。

相关问题