在JavaScript中,与FileReader相关的任何安全性问题吗?

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

请考虑以下代码:

(部分HTML):

<input type="file" accept=".txt" id="theFile" class="button" />

((部分)JavaScript:

$('#theFile').on('change', function(e){
    readFile(this.files[0], function(e) {
       var text = e.target.result;
    })
})
function readFile(file, callback){
    var reader = new FileReader();
    reader.onload = callback
    reader.readAsText(file);
}

我的问题是,与FileReader一起部署时,readAsText的使用是否存在任何安全风险?例如,如果所选文件不是.txt而是其他内容,会发生什么?恶意用户是否有可能以某种方式攻击托管网站?

如果与问题相关,则完整的代码仅从.txt文件中检索文本并将其部分打印在屏幕上。

我很乐意提供其他需要提供的详细信息或信息。

javascript security
1个回答
0
投票
是的,您很好,这里没有安全问题。

  1. 该代码是在用户浏览器而不是服务器中执行的,因此即使它是恶意的,他们也只会感染自己。
  2. 上面的代码仅以文本形式读取文件,因此即使它是恶意的也不会被执行。

创建网站时确实需要小心,如果您允许用户上传恶意文件,然后以某种方式允许他们在服务器端执行它们。例如,PHP网站的安全性不正确,您允许他们上传错误的PHP文件,并且该目录可通过网站访问,然后可以由服务器端执行PHP文件,只需将www.mywebsite.com/upload/danger.php放入有浏览器。

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