【问题标题】:Disable file_get_contents to protect html contents [closed]禁用 file_get_contents 以保护 html 内容 [关闭]
【发布时间】:2014-09-05 14:21:36
【问题描述】:

我想禁用file_get_contents 功能以保护网页中的 html 内容。

<?php
$homepage = file_get_contents('http://www.example.net/');
echo $homepage;
?>

我已经完成了allow_url_fopen = Off,但它不起作用。

谁能帮帮我?

【问题讨论】:

  • 您可以研究 User-Agent 过滤,这是一种常见的(预计不可靠)解决方法。另外,坦率地说,您博客中的任何内容实际上都不值得复制。

标签: php curl cross-domain


【解决方案1】:

这可以通过页眉来完成。以下是脚本。

<?php
if(!isset($_SERVER['HTTP_USER_AGENT']))
{
    header("HTTP/1.0 404 Not Found");
}
?>

将此脚本放置在任何输出开始之前。

  • 首先检查用户代理标头和file_get_contents 不发送用户代理
  • 大多数浏览器和搜索引擎都会发送用户代理
  • 如果未设置HTTP_USER_AGENT,则发送未找到页面消息

可以在以下网址进行测试:http://sugunan.net/demo/content.php

【讨论】:

  • 这很好用.. 谢谢!
  • 你在开玩笑吧?我几乎从未见过一个不发送用户代理字符串的机器人,该字符串专门设计用于使其看起来像普通浏览器。
  • 我只是想禁用file_get_contents功能通过http链接获取内容
  • 这真的不会有任何效果,它很可能会阻止该网站的合法用户。
  • @Dagon 无论我发现这种方式非常有效,我的问题都解决了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
  • 2014-05-13
  • 2015-10-22
  • 2012-04-24
  • 2011-06-12
  • 1970-01-01
  • 2017-08-27
相关资源
最近更新 更多