2

假设页面是example.com/blog/data.php. 我正在使用file_get_contents在另一个脚本页面中获取内容。现在,我想:

  1. 禁止 google 搜索对 ​​data.php 页面进行爬取和索引。
  2. 禁止访客访问

有没有办法做到这一点?

4

4 回答 4

2

如果请求 url 是example.com/blog/data.php,您可以重定向到另一个页面,但更简单、更合乎逻辑的解决方案是将文件移出您的 web-root。

编辑:如果您真的想将文件保留在 web-root 中,您可以在您不想直接访问的脚本顶部使用类似这样的内容:

if ($_SERVER['REQUEST_URI'] === $_SERVER['SCRIPT_NAME'])
{
  header('Location: /');    // redirect to home page
}

但是,这可能无法与file_get_contents(您需要从结果中删除这些行)结合使用,您可以include改为使用文件。

于 2012-11-16T13:54:12.987 回答
1

不要放在data.php网络根目录下。将其保存在并行目录中。

于 2012-11-16T13:54:26.790 回答
0

只需为授权用户应用访问限制。您可以通过使用 url 参数作为密码访问您的页面以最简单的方式完成此操作:

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

并在您的第一个文件 data.php 中执行以下操作:

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

但是,建议不要在公共计算机上使用它,因为它不安全,但它是原始的身份验证原理。

于 2012-11-16T13:54:50.520 回答
0

您可以通过 GET 传递令牌。总的来说,你的方式有点错误。为什么不将 data.php 逻辑合并到调用它的脚本中。

于 2012-11-16T13:55:28.863 回答