关于内容输入输出原则总结

如果您是大牛,请略过此篇文章

 

今天,分词时突然发现了一个问题:

如何存入用户输入的内容?

如何输出用户输入的内容?

为什么会有上面的两个疑问,听我详尽道来。

WEB2.0时代是一个以用户创造内容为主的互联网时代,一方面让我们的互联网内容更加丰富化,另一方面也使得在内容输出上存在很多问题,还包括一些安全性方面的问题,譬如,用户输入JS代码、HTML代码,如果不进行一些相应的处理,可能会产生JS注入、页面内容呈现时结构错误等情况,所以引出了上述的两个问题,那么我们究竟应该如何来对待处理用户输入的内容呢? 

  1. 允许用户输入任意内容(也可进行一些适当的限制)
  2. 确保用户输入的内容原封不动的放入到存储介质中 (保存用户的最原始行为)
  3. 输出时使用UBBToHtml方法将内容进行转换(用户输入什么就输出什么)

此处需要注意一点,如果你想将存进库中的内容以自己的方式组合成HTML然后输出时直接在页面上输出(譬如FACEBOOK的NEWSFEED功能),那么在自己组合的时候就需要使用ubbtohtml转义用户输入的内容,然后存进库中,输出时直接输出库中存储的内容即可,如果使用的是HTML编辑器,那么就可省掉上述的一些烦恼,目前的一些HTML编辑器都会自动转换用户输入的特殊字符问题,使用HTML编辑器将内容存入库中,读取时直接读取即可,不会出现内容或结构上的错乱情况。

 

这样一来,就解决了上面两个问题的烦恼。

最后一句话总结:输入即输出 。

posted @ 2010-09-26 13:10  [曾恩]  阅读(370)  评论(0编辑  收藏  举报