Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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 Webbot是否可以使用连接以获取请求的链接从我的网站中删除内容?_Php_Http Get_Delete File - Fatal编程技术网

Php Webbot是否可以使用连接以获取请求的链接从我的网站中删除内容?

Php Webbot是否可以使用连接以获取请求的链接从我的网站中删除内容?,php,http-get,delete-file,Php,Http Get,Delete File,好的,我的问题是:我的网站内容正在消失。它不是最安全的网站,它有很多问题。现在,每次我上传一个页面,可以使用连接到GET请求的简单链接从我的站点删除内容,我都会发现相应的内容被大量删除 例如,我的网站上有一个上传图像的功能。一旦用户上传图像,管理员(所有者)就可以使用另一个页面从站点中删除所有(所有者)图像。删除功能的实现方式是,用户单击上载图像的每个缩略图下的链接,然后发送get请求,从站点数据库中删除图像信息,并从服务器文件系统中删除图像 前几天我上传了这个功能,第二天早上我发现我所有的图片

好的,我的问题是:我的网站内容正在消失。它不是最安全的网站,它有很多问题。现在,每次我上传一个页面,可以使用连接到GET请求的简单链接从我的站点删除内容,我都会发现相应的内容被大量删除

例如,我的网站上有一个上传图像的功能。一旦用户上传图像,管理员(所有者)就可以使用另一个页面从站点中删除所有(所有者)图像。删除功能的实现方式是,用户单击上载图像的每个缩略图下的链接,然后发送get请求,从站点数据库中删除图像信息,并从服务器文件系统中删除图像

前几天我上传了这个功能,第二天早上我发现我所有的图片都被删除了。使用浏览器查看页面时,页面将使用用户身份验证进行保护。然而,令我惊讶的是,我可以wget没有任何问题地打开该页面


所以我想知道是否有邪恶的网络机器人正在使用这些链接删除我的内容?可能吗?对于进一步保护我的网站,您有什么建议。

通常,搜索机器人会扫描页面中的任何链接,并向下窥视这些链接,以查看其背后的页面。所以,是的,如果一个二者都可以访问该页面,该页面包含删除项目/内容的链接,并且二者都打开这些链接以查看它们背后的内容,代码就会被触发


有几种方法可以阻止机器人扫描页面。查看robot.txt的实现。此外,您可能还需要研究管理员身份验证系统的机制/安全性…;-)

这是绝对可能的。即使是非邪恶的网络机器人也可能做到这一点。谷歌机器人不知道它所跟随的链接有任何特定的功能

解决这个问题的最简单方法是设置一个合适的robots.txt文件,告诉机器人不要进入特定页面。从这里开始:

约定已确定GET和HEAD方法不应具有采取检索以外的操作的意义。这些方法应该被认为是“安全的”。这允许用户代理以一种特殊的方式表示其他方法,例如POST、PUT和DELETE,以便让用户知道正在请求可能不安全的操作

基本上,如果您的应用程序允许通过GET请求进行删除,那么它就做错了。机器人将遵循公共链接,他们没有义务期望在这样做时删除内容,浏览器也没有义务。如果链接受到保护,它仍然可能是浏览器预取或某种加速


编辑:

您可以使用robots.txt文件阻止某些web机器人的访问。 对于那些没有查找robots.txt文件的用户,您也可以使用javascript,不应该有太多Webbot来解释它

<a href="#" onclick="document.location.href='./delete'; return false;">delete</a>


在网站上使用“动手做”修改通常是个坏主意。一些浏览器正在预取给定页面上的所有GET请求以加快浏览速度,因此执行这些链接。切换到POST(或者更好的HTTP删除)除此之外,我认为您的用户身份验证不起作用。@lvaroG.Vicario,我认为您是对的。我刚发现一个严重的错误。迫不及待地想转移到一个合适的web框架。感谢您的输入。我们只是使用GET方法来快速工作。这是一个多么糟糕的主意!我们会马上做出改变。谢谢你的帮助。谢谢@Eric把它添加到我的服务器上。我已经阅读了我需要确保其他忽略此文件的不合规机器人程序不会访问我的文件。我想,htaccess是解决这个问题的方法。再次感谢您的投入。