用戶輸入的文本,有可能在不少地方出現,在出現時須要做轉碼,一方面是出於安全考慮(xss等),另外一方面也是須要「忠實」的顯示用戶的合法輸入。html
看下下面的各個?號,須要什麼轉碼方式:安全
<!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>