HTML和Javascript:使用输入文件获取完整的目录路径名
HTML and Javascript: getting full directory pathname using input file
根据我的研究,我知道我不能使用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
;现在你知道我的用户名了)。此外,文件系统可以以不同的方式格式化路径,用户可以随意命名/重命名目录。我不确定服务器的完整路径的值是多少。除非您处于一个非常可控的环境中,否则您无法保证能够解析路径,更不用说指望它包含一致的信息了。
W3特别指出,包含完整路径是一个安全漏洞,并要求用户代理将字符串c:'fakepath'
预先附加到文件路径中。
一些遗留用户代理实际上包括完整路径(安全漏洞)。
另请参阅IE提供完整路径,FF只提供文件名(或目录浏览)和如何从文件输入和许多其他文件中获取文件的完整路径。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- jquery on drop 获取完整路径名
- 获取当前URL,替换部分路径名,然后在空白选项卡中打开
- 使用JavaScript获取路径名和PHP变量
- 如何获取字符串路径名
- 使用 Java 脚本从 iframe 路径名中获取 id 的值
- 获取 img.src 值(路径名)
- 如何在react router 1中获取活动路由路径名
- HTML和Javascript:使用输入文件获取完整的目录路径名
- 用于获取url路径名的正则表达式
- JS Regex获取路径名'值'由'键'
- 在React Router /browserHistory中获取当前路由的路径名
- 从获取路径名(相对于主机)href =“./ foo /“
- asp.net mvc - javascript 获取“浏览器地址栏”中表示的路径名