2012-07-16 52 views
1

運行的代碼我在javascript中的聊天應用wirtten,當用戶輸入HTML代碼,就像如何防止HTML/Javascript在一個文本框

<button>click</button> 

一個按鈕上聊天出現。我用這個代碼

if(message.indexOf('<button') != -1) 
      { 
       message = message.replace(message, '&#45;'); 
      } 

但這只是取代了<按鈕

一個空白的空間,我希望它顯示爲文本,而不是實際的按鈕。

感謝

+1

你有一個聊天應用程序,意味着你已經有了服務器端的處理事情。不要在上傳階段嘗試修改代碼(繞過並在接收器機器上運行任意javascript是微不足道的)。重新播放之前清理服務器上的數據流。 – symcbean 2012-07-16 15:01:20

回答

1

你一般編碼這裏的程序是:

value = value.toString().replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#39;").replace(/"/g, "&#34;"); 
+0

工程就像一個魅力!謝謝 – 2012-07-16 14:58:39

+0

連接任何你想編碼的東西,例如符號。 – 2012-07-17 08:41:40

5

我只是用這個:

message = message.replace(/</g,"&lt;"); 

這就是所有的需要,以防止HTML被插入。

0

你用什麼html元素打印聊天?嘗試使用textarea或預標籤。

嘗試在後端控制這些錯誤,因爲每個人都可以停用JavaScript。