我的网页对服务器进行 AJAX 调用并在浏览器中显示结果。结果的内容将经常包含用户在 AJAX 请求中提交的文本字符串的一部分。因此,如果用户<script>
输入他的查询,返回的输出也可能包含该短语<script>
。但是,服务器在发送响应之前对其进行编码,因此返回的短语实际上将被接收为<script>
这一切都很好。脚本漏洞被移除,浏览器<script>
在显示响应时正确显示。
问题是当我想获取返回值并将其填充到文本框中时。考虑:
$(“#someTextBox”).val(“&lt;script>”);
文本框的内容以编码形式 (ie <script>
) 而不是解码形式 (ie <script>
) 显示。
问题:
[1] 如何在调用 val() 之前解码值?
[2] 我这样做是否会引入安全漏洞?