保护我的网站内容不被cURL下载

时间:2010-05-25 05:21:56

标签: php web curl

我通过以下代码听说过使用curl对网站进行外部访问:

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://example.com');
$buffer=curl_exec($curl_handle);
curl_close($curl_handle);

我想保护自己的网站免受此外部访问。我正在使用PHP。我该如何保护自己的网站?

5 个答案:

答案 0 :(得分:4)

这并不比通过浏览器访问您网站的任何人更危险;事实上,就你的问题而言,这就是curl:网络浏览器,仅此而已。

如果您有安全漏洞,它们将被破坏。如果没有,他们就不会。然而,curl并未放大或减少任何脆弱性;它只是PHP脚本访问另一个网站的一种方式(通常通过HTTP)。

如果您想阻止下载内容,可以阻止传入的HTTP请求,但这会破坏网站的目的,因为Web浏览器会发出相同的请求(也可以下载内容)。

答案 1 :(得分:3)

如果您的意思是“如何保护我的网站不被浏览器以外的程序访问”,答案几乎就是“您不能”。浏览器只是一个发送HTTP请求的程序。您可以玩试图拒绝看起来不是来自浏览器的HTTP请求的游戏,但对于任意程序(使用curl或Perl / Python / Ruby库的程序)来模拟标题是非常容易的。 “真正的”浏览器发送。

答案 2 :(得分:2)

我同意waiwai,但是,如果您真的想要“保护”自己免受基本的非浏览器访问,请考虑加密您的内容并在访问网站时使用JavaScript解密。任何了解JavaScript(并启用它)的浏览器都能够正确显示内容。但即使加密内容也可以轻松解决。

挫折是1)它不是'安全',2)搜索引擎可能错误地索引您的网站(毕竟,他们使用类似cURL的呼叫),3)禁用JavaScript的用户无法访问您的内容。

总的来说,我认为这不值得。

答案 3 :(得分:1)

如果您希望用户能够看到它,则不能。

您可以设置一些系统,以便它不会提供某些内容,除非最近同一用户请求了另一个相关的内容,但即使这样也不会阻止真正想要获取它的人...

答案 4 :(得分:1)

您可以做的另一件事是使用Captcha保护您的网站。这将阻止通过curl访问,但允许您的用户访问。

请注意,这样做会阻止搜索引擎访问您的网站。

相关问题