HTML和Javascript:使用输入文件获取完整目录路径名
从我的研究中,我知道我不能使用HTML输入文件来获取目录路径名。但是,我尝试了另一种方法,将输入文件的值存储到一个隐藏字段中,并将存储的值传递给后端代码进行进一步处理。 Javascript代码:HTML和Javascript:使用输入文件获取完整目录路径名,javascript,html,Javascript,Html,从我的研究中,我知道我不能使用HTML输入文件来获取目录路径名。但是,我尝试了另一种方法,将输入文件的值存储到一个隐藏字段中,并将存储的值传递给后端代码进行进一步处理。 Javascript代码: <script type="text/javascript"> function folder_address() { var address=document.getElementById('folder_address'); var folder=document.ge
<script type="text/javascript">
function folder_address()
{
var address=document.getElementById('folder_address');
var folder=document.getElementById('folder');
folder.value=address.value;
}
</script>
函数文件夹_地址()
{
var address=document.getElementById('folder_address');
var folder=document.getElementById('folder');
folder.value=address.value;
}
HTML代码:
<input type="file" id="folder_address" name="folder_address" />
<input type="hidden" id="folder" name="folder" />
但是,我仍然将folder.value作为我选择的文件,而不是该文件的完整目录路径名。我漏掉了什么吗?这种行为是不能回避的。即使您可以使用脚本/其他字段找到漏洞,该漏洞也可能在将来被删除 我强烈建议设计不依赖于了解用户选择的本地路径 向服务器显示用户的目录结构是一个安全缺陷(想想Windows中的
c:\users\tmedora
;现在你知道我的用户名了)。此外,文件系统可以采用不同的路径格式,用户可以随意命名/重命名目录。我不确定完整路径对服务器有什么价值。除非您处于一个高度受控的环境中,否则无法保证您甚至能够解析路径,更不用说指望它包含一致的信息了
包含完整路径的W3是一个安全漏洞,需要用户代理将字符串c:\fakepath\
预先添加到文件路径
一些遗留用户代理实际上包含完整路径(这是一个
安全漏洞)
也看到和
还有很多其他功能。出于安全原因,我认为浏览器根本不允许Javascript使用文件夹路径。在这种情况下,我真的需要编写一个小程序来选择目录吗?你为什么想知道完整路径?现在我们知道你的用户名了。