我正在爲ASP.net頁面編寫一些Javascript代碼。如何獲取一個ASP.net變量的值爲一個JavaScript文本框
我把字符串「foo」賦給字符串變量myString
。
我想的myString
值分配給一個JavaScript變量,所以我在ASP.net代碼寫:
<script type='txt/javascript' language='javascript'>
var stringFromDotNet = '<%=myString%>';
</script>
這工作得很好,只要myString
不包含引號或線 - 但是,儘快我嘗試使用引號或換行符來指定某些內容時,所有地獄崩潰,我的代碼不起作用。事實上,我可以看到這個代碼很容易受到各種注入攻擊。
所以...我能做些什麼得到值myString
分配給一個JavaScript的變量?
更新:我試着用ASP創建一個頁面:隱藏字段。它看起來像裏面的值是HTML編碼。
這不工作因爲那時我的用戶不能使用雙引號,而且我仍然很容易被攻擊。 – 2010-11-29 22:00:17
您必須避開引號。如果您使用雙引號分配js變量,則必須避免字符串中的雙引號。您的用戶不受影響。在將值賦給myString時,您必須轉義字符串。 – 2010-11-29 22:02:25