[英]Escaping backslash inside javascript
<script type="text/javascript">
console.log(#Fileurl#);
jQuery.ajax({
url: "http://xyz:8800/aaa/bbb/ccc",
type:'POST',
dataType: 'JSON',
data:{"file":"#Fileurl#"},
success: function(data) {
console.log(data);
}
});
</script>
这是Coldfusion页面内的javascript代码。 如果我尝试在脚本之外打印“ Fileurl”,则输出是完美的。
输出:D:\\ abc \\ FLV \\ 238550_605_orion.mp4。
但是在javascript输出中,
d:abcFLV238550_605_orion.mp4。
实际上我们想发送url来删除特定文件。
嗨,没有办法用javascript做任务。 所以代替
使用ColdFusion的jsstringformat将Fileurl转换为
d:\\ ABC \\ FLV \\ 238550_605_orion.mp4
console.log("<cfoutput>JSStringFormat(Fileurl)</cfoutput>");
如果您使用的是ColdFusion 10+,则应使用encodeForJavaScript()
而不是JSStringFormat()
。 此外,通过将网络文件的路径放在客户端代码中,您将自己面临路径遍历攻击。
用户可以操纵JavaScript来指向与您想要的文件和文件夹不同的文件和文件夹。 如果将其传递给删除函数,则可能会遇到麻烦。 为什么不传递一些文件ID?
反斜杠具有特殊的含义,您必须逃避它。 您可以尝试将反斜杠加倍,或使用正确的url格式,例如file:// path / to / file和正斜杠。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.