Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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_Html_Curl - Fatal编程技术网

Php 如何防止我们的网站被抓取

Php 如何防止我们的网站被抓取,php,html,curl,Php,Html,Curl,昨天我去面试,他们问了我两个我无法回答的问题。有人能给我指一下下面的正确方向吗 防止网站刮网的方法。 如何防止网站中的SQL注入? 通常通过使用文件来避免刮取。 他们很可能会询问如何防止SQL注入,而不是添加SQL注入。这是通过。 为了防止刮擦,最好的方法是使网页在某些方面有所不同,而这些不同在每次加载时都是不可预测的。每个页面使用标签等的唯一标识符。 不要将输入包含到动态SQL中。使用绑定代替。 以下是一些可以防止爬行/刮擦的方法 您可以执行一些基本的HTTP头验证。 您可以使用一些第三方工具

昨天我去面试,他们问了我两个我无法回答的问题。有人能给我指一下下面的正确方向吗

防止网站刮网的方法。 如何防止网站中的SQL注入? 通常通过使用文件来避免刮取。 他们很可能会询问如何防止SQL注入,而不是添加SQL注入。这是通过。 为了防止刮擦,最好的方法是使网页在某些方面有所不同,而这些不同在每次加载时都是不可预测的。每个页面使用标签等的唯一标识符。 不要将输入包含到动态SQL中。使用绑定代替。
以下是一些可以防止爬行/刮擦的方法

您可以执行一些基本的HTTP头验证。 您可以使用一些第三方工具 您可以使用JS呈现/动态内容,这会增加一层难度 您可以使用诸如登录之类的东西,并限制对某些区域的访问 -您可以使用robots.txt文件来控制搜索爬虫 -您还可以使用rel=\u nofollow属性装饰超链接 用于SQL注入保护

-您可以尝试从DBn分层应用程序中提取级别,其中实际的web应用程序不会直接与DB交互。 正确清理、编码和处理所有用户输入 不要依赖自己的验证和卫生设施,使用 由开发团队共同完成 在应用程序中使用单元测试,确保应用程序能够 处理所有类型的输入,并确保故障安全 确保您没有直接从服务器抛出详细的错误消息 数据库
您可以使用htaccess文件/代码来阻止坏的bot/scraper并防止SQL注入

请参阅此链接:有关坏机器人程序/刮板程序的详细列表以及要使用的htaccess代码。 二,


我们能了解更多的情况吗?我想你的意思是防止SQL注入。@David哇,太好了wrong@cmorrissey我希望是这样。但只需在堆栈溢出上浏览这里的PHP标记。这是压倒性的。@AntoineB:在引入另一个问题的同时解决一个问题几乎没有什么帮助。@AntoineB重点是,如果您以允许SQL注入的方式构造代码,那么您基本上就是在自己添加它。使用具有正确字符集的预处理语句确实是保护自己不受其影响的唯一正确方法,大多数指南和这里的许多答案都不包括这一点,而是直接在查询中包含用户输入,未初始化。输入清理。可能是防止SQL注入的最糟糕方法之一。防止SQL注入是指不将用户输入作为代码执行。如果从未执行过输入,则无需对其进行消毒。robots.txt仅在另一端良好时才起作用。Ed Heal非常合适,因为只有好的机器人才会遵守robots.txt文件中的规则。坏机器人会忽略robots.txt文件中的规则。robots.txt文件不是安全措施,而是SEO工具。
    # SQL Injection Protection: Block common SQL commands used in Query Strings
    RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC]
    RewriteRule ^(.*)$ - [F]