Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以阻止人们以编程方式从我的站点获取内容吗?_Php_Dom_Curl_Domparser_Plagiarism Detection - Fatal编程技术网

Php 我可以阻止人们以编程方式从我的站点获取内容吗?

Php 我可以阻止人们以编程方式从我的站点获取内容吗?,php,dom,curl,domparser,plagiarism-detection,Php,Dom,Curl,Domparser,Plagiarism Detection,比如说,我有一个WordPress网站,上面有很多博客文章。我发现有人在复制我网站的每一页内容,并将其粘贴到自己的网站上。我相信他不是手工做的,因为数额很大。我试着复制他所做的,我发现使用php by curl和一些Dom解析(让我知道有用文本所在的类名)对我来说做同样的事情其实很容易 我能有什么办法来防止它,或者至少让他们将来更难做到这一点?谢谢 请记住,无论您向网站的访问者公开什么信息,都是通过编程方式获取的。所有web浏览器都连接到web服务器并使用HTTP请求信息 您可以尝试阻止他正在使

比如说,我有一个WordPress网站,上面有很多博客文章。我发现有人在复制我网站的每一页内容,并将其粘贴到自己的网站上。我相信他不是手工做的,因为数额很大。我试着复制他所做的,我发现使用php by curl和一些Dom解析(让我知道有用文本所在的类名)对我来说做同样的事情其实很容易


我能有什么办法来防止它,或者至少让他们将来更难做到这一点?谢谢

请记住,无论您向网站的访问者公开什么信息,都是通过编程方式获取的。所有web浏览器都连接到web服务器并使用HTTP请求信息


您可以尝试阻止他正在使用的任何软件的用户代理(如果它提供了用户代理的话),但这可能是徒劳的。你的博客文章向公众公开,因为你想让他们阅读。一旦这些信息是客户端的,您就无法对其进行进一步的控制。

如果废弃站点的人没有通过cURL进行太多的配置,那么您可以使用一些用户代理字符串解析来检测cURL用户并抛出404或执行任何其他您想执行的处理。(更多信息:)

但是请记住,cURL允许您手工编写请求,并允许您欺骗您的用户代理和web请求的大多数其他细节,从而使其与常规web流量无法区分


除此之外,您可以阻止特定的个人IP地址,但这是一个非常具体的修复,并不能解决任何人对内容废弃的更广泛关注。

由于浏览器只是下载您的内容以向用户显示的机器,您真的无法完全阻止它

你可以做一些事情来增加阅读难度,但也会增加普通读者遇到一些问题的风险

以下是我在过去看到的一些想法:

  • 图像:不适用于完整的文章,但仍然流行于电子邮件地址:不要把文本放上去,而是放一些文本的图像

  • 发布一些混乱的版本,然后用javascript解读。如果有人用curl或类似的方法提取内容,他不会执行javascript,只会得到垃圾

  • 变异图像:通常那些复制猫从原始来源获取图像和其他媒体。您可以使用服务器上的推荐人提供不同的图像,例如,带有消息“此内容从…被盗”的图像

  • 请律师起诉他们。这可能很困难,特别是当涉及国际法时,但我已经看到它成功地完成了


  • 阻止IP地址可能更有效。如果用户代理不使用通用代理,那么更改用户代理可能很简单。实际上,阻止IP地址也是如此。这两项措施都是针对长期问题的短期措施。尽管有反对票,但我认为至少增加这一问题的难度是不可能的。我可以卷曲我的网站,但对于中国的一些小说网站,我只能通过卷曲来获取垃圾。他们没有按照答案中的建议使用JavaScript来解读混乱的测试,因为即使我在浏览器中禁用JS,我也可以毫无问题地查看站点的正常版本。我将尝试看看他们是如何做到这一点的,如果我找到答案,我可能会发布一个答案。