[英]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.