Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以向 Apache 或 IIS 发送一个 http 上传请求文件,该文件的文件名带有“../”或“..”,不会被拒绝并传递给 php 或 ASP.Net 引擎?
不是你问的那样。当它到达服务器时,浏览器已经读取了文件并将其作为内容块传递,除了您可以选择使用或丢弃的原始文件名之外,没有任何关于它来自何处的信息。
通常,文件上传会进入一个临时存储位置(例如 /tmp),然后需要从那里移到您可以控制和命名的某个地方。
该存储是在服务器上配置的,因此任何将路径信息放入文件名的尝试也应该被服务器的文件上传实现阻止,如果浏览器还没有这样做,服务器应该再次清理文件名。
如果有一个错误,那么所有的赌注都是关闭的。