2014-08-29 66 views
0

我想禁用file_get_contents函数来保护网页中的html内容。禁用file_get_contents以保护html内容

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

我已经做了allow_url_fopen = Off,它不工作。

任何人都可以帮助我吗?

+2

您可以研究User-Agent过滤,这是一种常见的(并且预期不可靠)*解决方法*。此外,要有点生硬,你的博客中没有任何内容值得复制。 – mario 2014-08-29 04:45:08

回答

0

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

<?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

+1

这工作得很好..谢谢! – Bira 2014-08-29 04:52:15

+1

非常好的答案 – 2014-08-29 04:52:33

+1

你在开玩笑吧?我几乎从未**看到过一个bot,它不会发送一个用户代理字符串,该字符串专门用来使它看起来像一个普通的浏览器。 – 2014-08-29 15:39:10