为什么通过扩展名来确定文件类型是不安全的?

问题描述 投票:0回答:2

我遇到了这个答案:https://stackoverflow.com/a/70602109/6880256 有一行说:

TLDR 是你必须断言的,因为出于安全原因,文件扩展名不能用于确定文件类型。

它所说的安全原因是什么?

javascript security
2个回答
0
投票

好吧,这只是意味着,您无法从像 .jpg 这样的文件扩展名判断它不是可执行文件或任何其他文件。


0
投票

这背后的安全原因是你不能假设文件的内容,因为它是文件结尾。 这个基本的 Html 文件:

<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Website Title</title>
  </head>
  <body>
 </body>
</html>

可以保存为.ts, .js, .html, .fxml, .mp4 基本上你能想到的都可以。 如果您有一项服务并且只想在该服务上存储 .mp4 文件,例如 YouTube,那么您只能在阅读其内容时确保该文件实际上是 .mp4 文件,而不仅仅是因为它的文件结尾是.mp4.

© www.soinside.com 2019 - 2024. All rights reserved.