问题:在Web开发中常常用到富文本编辑功能。例如本帖!
例如在论坛发贴!例如网站的新闻发布模块!这些文本中除了有格式的文本外,还会有附件、图片等。
我的策略一般是这样的:
前台:使用一个富文本编辑器,如FckEditor。运行上传附件和图片。
   前台的问题是:富文本中如何避免内容为脚本。例如:如果我在富文本框中输入<script>alert();</script>提交后,在JSP直接打印,那么alert()会执行。我用正在表达是校验过滤了<script>之类。但是赶紧这样可能有风险。请问大牛们,有没有好的方案????
后台:
方案一:富文本存放在数据库clob字段,附件存放在磁盘文件夹中。这样读取时要读一遍数据库,赋值到页面。附件以链接形式映射到服务器。方案二:将富文本保持为html文档保存在磁盘文件夹,不再读数据库,直接在通过<iframe src=""/>获取所有富文本。富文本包含附件的链接。那一种方案好呢?如果第二种。有没有直接将富文本保存为后台html的三方框架?请经验丰富的解释下!一般处理富文本的思路是什么?必要时给出写代码!

解决方案 »

  1.   

    1,采取方法,过滤特殊符号,如< > 符号,将其转换成&gt;&lt;等,其他的一些做法就是直接将其替换成空格,还有的甚至就在<后面多加了一个空格,这样就识别不出来了。
    2,一般是保存文件到磁盘
      

  2.   

    采取过滤特殊符号的方法,或者将特殊符号进行转义,如< > 符号,将其转换成&gt;&lt;等
    推荐保存到数据库。
    保存为文件的话,风险反而会更大,再来,他会非常浪费磁盘资源,容易产生磁盘碎片,放到数据库可避免这类事情。
      

  3.   

    我用的是FCK,保存HTML在数据库,如果有附件或者图片什么的,上传到一个文件夹下,保存的HTML内容中只保存路径即可 从数据库拿东西的话,也不是很慢。