gpt4 book ai didi

javascript - HTML 和 JavaScript : getting full directory pathname using input file

转载 作者:行者123 更新时间:2023-12-02 19:45:39 24 4
gpt4 key购买 nike

根据我的研究,我知道我无法使用 HTML 输入文件来获取目录路径名。但是,我尝试了另一种方法,将输入文件的值存储到隐藏字段中,并将存储的值传递到后端代码以进行进一步处理。JavaScript 代码:

<script type="text/javascript">
function folder_address()
{
var address=document.getElementById('folder_address');
var folder=document.getElementById('folder');
folder.value=address.value;
}
</script>

HTML 代码:

<input type="file" id="folder_address" name="folder_address" />
<input type="hidden" id="folder" name="folder" />

但是,我仍然得到folder.value作为我选择的文件,而不是文件的完整目录路径名。我错过了什么吗?

最佳答案

这种行为是无法规避的。即使您可以使用脚本/附加字段找到漏洞,该漏洞也可能在将来被删除。

我强烈建议一种不依赖于了解用户选择的本地路径的设计。

向服务器泄露用户的目录结构将是一个安全漏洞(想想 Windows 中的 c:\users\tmedora;现在你知道我的用户名了)。此外,文件系统可以以不同的方式格式化路径,并且用户可以根据自己的意愿自由命名/重命名目录。我不确定完整路径对服务器有什么值(value)。除非您处于极其受控的环境中,否则您甚至无法保证能够解析该路径,更不用说指望它包含一致的信息。

W3 specifically states包含完整路径是一个安全漏洞,需要用户代理在前面添加字符串 c:\fakepath\文件路径。

Some legacy user agents actually included the full path (which was a security vulnerability).

另请参阅IE Gives full path, FF gives only filename (or directory browse)How to get the full path of the file from a file input和许多其他人。

关于javascript - HTML 和 JavaScript : getting full directory pathname using input file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9918682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com