2012-07-16 40 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。