Php 如何防止以普通(纯文本)形式上载文件

Php 如何防止以普通(纯文本)形式上载文件,php,html,asp.net,node.js,multipartform-data,Php,Html,Asp.net,Node.js,Multipartform Data,在下面输入您的名字和姓氏: 名字: 姓氏: 您无法控制发送到或不发送到服务器的内容。这有点自相矛盾。为了知道一个请求是否有效,服务器需要读取该请求,从而迫使您接受所有请求 实际上,黑客甚至不需要修改表单。他们可以独立地向您的服务器发送请求,而不必访问您的网页 您可能需要研究Cloudflare之类的服务。如果用户只需要上传最大大小为5 MB的文件和几个文本字段,那么将帖子内容总量限制在6 MB左右 下面是另一个答案,它描述了如何在PHP中实现这一点: 以下是NodeJS的答案: 下面解释


在下面输入您的名字和姓氏:
名字:
姓氏:

您无法控制发送到或不发送到服务器的内容。这有点自相矛盾。为了知道一个请求是否有效,服务器需要读取该请求,从而迫使您接受所有请求

实际上,黑客甚至不需要修改表单。他们可以独立地向您的服务器发送请求,而不必访问您的网页


您可能需要研究Cloudflare之类的服务。

如果用户只需要上传最大大小为5 MB的文件和几个文本字段,那么将帖子内容总量限制在6 MB左右

下面是另一个答案,它描述了如何在PHP中实现这一点:

以下是NodeJS的答案:

下面解释为什么这是限制文件上传的唯一方法:

限制上传的大小

不幸的是,HTTP规范在这里又遇到了障碍。这个 只有一条有用的信息可以在 POST是POST的总大小。这包括所有上传的文件, 表单中的所有其他字段、任何标题等。因此 我们可以用来限制上传的是帖子大小(duh!)。你会 想仔细考虑一个极限-它应该足够低到 防止拒绝服务攻击,但高到足以让您的用户 上传你想要的文件类型


来源:(一个我非常喜欢的Java服务器端框架)

我认为没有办法防止这种情况。只要action属性可见,就可以尝试表单欺骗。您可以实现的是
CSRF
prevention。每当我得到一个表单中的文件时,有没有办法终止它-data@VikasKandari为什么你只关心“黑客”上传文件?如果在
first name
字段中,黑客输入了一个10亿个字母长的名字,该怎么办?有像Cloudflare这样的服务可以保护您免受DDoS攻击,但除此之外,您无能为力。这也是同样的问题,这就是为什么我要寻找合适的解决方案,因为我的客户(网站所有者)“难道不是百万富翁吗?Nodejs是怎么回事?”VikasKandari补充道:“非常感谢,这真的很有帮助。”。