zoukankan      html  css  js  c++  java
  • 关于内容输入输出原则总结

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    深入浅出Vue.js(四) 整体流程
    深入浅出Vue.js(三) 模板编译
    实现strStr()--indexOf()方法
    Z字形变换
    最长回文子串
    删除数组中不符合条件的值
    整数反转
    寻找两个正序数组的中位数
    gorm 关系一对一,一对多,多对多查询
    gorm 如何对字段进行comment注释?
  • 原文地址:https://www.cnblogs.com/zengen/p/1835909.html
Copyright © 2011-2022 走看看