“忠于原文”的前端转码问题
用户输入的文本,有可能在很多地方出现,在出现时需要作转码,一方面是出于安全考虑(xss等),另一方面也是需要“忠实”的显示用户的合法输入。
看下下面的各个?号,需要什么转码方式:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title>模板页面--JK@奇舞团</title> <script src="http://s0.qhimg.com/lib/qwrap/113.js"></script> <style> </style> </head> <body> 用户输入的值是: <input onclick="alert('hello')">\&amp; <br> 请将本html文件中的代码中的?改成对应的编码后的文本,使之在输出时忠实的显示成用户输入的值。<br> 注:以下代码里的部分使用方法应在现实中避免。 <hr/> <div> 1. div里显示用户输入的内容:? </div> <div> 2. input里显示用户输入的内容:<input value="?"> </div> <div> 3. textarea里显示用户输入的内容:<textarea>?</textarea> </div> <div>4. <script> var a="?"; alert("4. alert用户输入的内容:"+a); </script> </div> <div> 5. document.write用户输入的内容: <script> var a="?"; document.write(a); </script> </div> <div> 6. 点击,显示用户输入的内容:<input onclick="alert('?')" type=button value="click"> </div> <div> 7. <script> var a="?"; document.write('点击,显示用户输入的内容:<input onclick="alert(\''+a+'\')" type=button value="click">'); </script> </div> <!-- <hr> <textarea id="test1" ></textarea><br><input type=button value="转化" onclick="trans()"><br> <textarea id="test2"></textarea> <hr> <script> function trans(){ W('#test2').val(W('#test1').val().encode4Js().encode4HtmlValue().encode4Js()) } </script> --> </body> </html>