0

I've done my research, but I want to double check:

Lets suppose I have a file like 'myfile.csv' on my website, which was acquired from a malicious source. Can any sort of executable server-side code be hidden in it?

If so, how do I prevent this?

4

1 回答 1

1

CSV 文件可能不会在服务器端“执行”,而是按原样提供。您需要确保您的 Web 服务器的“处理程序”配置正确,以防止您的 CSV 文件被 PHP(或任何其他意外)处理程序处理。

也就是说,如果可能,您应该验证/清理应用程序中的所有输入,甚至是上传的文件,例如 CSV,尤其是当其他用户稍后可以访问该内容时。

既然你提到了 PHP,这里有一个关于 Apache 处理程序的更多信息的链接。IIS 具有类似的功能,我想大多数成熟的 Web 服务器都有一种方法来处理不同文件扩展名的请求。http://httpd.apache.org/docs/2.2/handler.html

如果可能的话,我建议将您的 CSV 文件存储在数据库中(或者实际上是任何无法通过 URL 访问它们的地方),并通过中间 PHP 文件将它们按需流式传输到客户端。这是一个示例: 从 MySQL 流二进制文件以使用 PHP 下载

于 2013-05-30T15:52:26.497 回答