InfoQ

交流

讨论:系统探讨表单的入库与出库

作者 terpomo 发布于 0000-00-00 分类:php基础编程

表单的入库与出库

在一个复杂的内容提交系统中,表单的入库与出库是经常需要考虑的问题,最近看到有关输入验证的文章也很多,但好像都没有系统的论述需要考虑的所有问题。

  我们来规划一下这个内容的提交系统的必要功能,做为一个复杂系统应该包括以下内容
1.VBB CODE解析
2.可以使用HTML代码
3.可以插入Script代码
3.列表选择项的自动生成与验证,如男、女,再如省份选择等
4.图像上传与管理
5.图像插入与控制
6.权限控制,如限制不能用HMTL,不能用VBB,不能插入图片等

  这些功能应该是够了,至于在客户端如何来方便的编辑表单,插入各种代码,那应该在专门在线编辑器讨论中进行,图片的上传与处理也有相关专题讨论。这里想探讨的主要在服务器端如何对用户提交的表单数据进行格式、权限、数据有效性等方面进行验证。

大概考虑一下,实现这个系统,需要进行的处理有:
1.VBB解析与过虑(这个已经有些代码可用了,不过好像还没有系统的,比如一个类)
2.HTML格式,有效性验证(这个好象很难实现,不过不是很必要,可以暂不考虑)
3.HTML过虑,对无权用户过虑掉HTML代码,这个很简单
4.Script验证(去除危险代码及系统指定要去掉的操作,这个应该很难,好在也不是很必要,可以暂不考虑)
5.Script过虑,对无权用户过虑掉Script代码(这个看起来很简单,但对嵌入Script我还没想出好办法,形如:怎么处理!)
6.对列表项的验证,比如男,女被用户填了个“人”(这个不是很容易封装,可以考虑交给控制层做)
7。对各类数据类型的格式验证,如文本、数字、日期、电话号码、身份证号、邮编等。(这个好办,用正则就行了)
8.图像有效性,即图像是否存在,大小是否要调整等
9.入库数据恢复到编辑界面时的处理
10.以上各处理过程应该放在什么位置处理,即谁先谁后,是在入库时处理,还是在出库时处理等,特别是要考虑如何将入库数据返回编辑界面,让用户重新编辑的问题。
11.处理后的数据写库与读库时是不是只要addslashes/stripslashes就行了?
12.暂时就考虑到这么多了,大家再想想


暂时就想要这么多,大家讨论一下以上各条具体怎么实现,这是每一个做应用系统的PHP Coder都会遇到的问题,希望版主能顶置几天,大家好好讨论一下,成熟的话可以做一个类库。



逛论坛交流
系统探讨表单的入库与出库

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

5 条回复

回复

>没人关心吗?发表个意见也好啊 发表人 terpomo 发表于 10月31日
>东西太多无从谈起呀, 4.1以后吧POS.. 发表人 巴豆 发表于 10月31日
>有什么谈什么好了,最后总结 发表人 terpomo 发表于 10月31日
>1.VBB解析与过虑(网上有相关的类,可.. 发表人 巴豆 发表于 10月31日
>第 5 贴 1.VBB解析与过虑(网上有相.. 发表人 terpomo 发表于 10月31日
  1. 返回顶部

    Re: 系统探讨表单的入库与出库

    2003年10月31日 发表人 terpomo

    >没人关心吗?发表个意见也好啊

  2. 返回顶部

    Re: 系统探讨表单的入库与出库

    2003年10月31日 发表人 巴豆

    >东西太多无从谈起呀,
    4.1以后吧POST,GET过去的数据自动应用了addslashes()
    其它的实现各人都有不同的方法吧

    一般多在数据出库时做处理

  3. 返回顶部

    Re: 系统探讨表单的入库与出库

    2003年10月31日 发表人 terpomo

    >有什么谈什么好了,最后总结

  4. 返回顶部

    Re: 系统探讨表单的入库与出库

    2003年10月31日 发表人 巴豆

    >1.VBB解析与过虑(网上有相关的类,可以根据需要增加相关HTML的解析,但可以用户更希望用仿WORD的在线编辑器,用户可能不习惯用VBB代码)
    2.HTML格式,有效性验证(没用过,不知道有什么用,恐怕只有IE有这个本事吧)
    3.HTML过虑,对无权用户过虑掉HTML代码,这个很简单
    4.Script验证(有些东西不好去除比如一个文章的内容是教你怎样格式化硬盘,不好把人家的format:命令去除吧)
    5.Script过虑,对无权用户过虑掉Script代码(这个看起来很简单,但对嵌入Script我还没想出好办法,形如:怎么处理!嵌入的SCRIPT危害应该不会很大,只要不让用户执行<script></script>中的代码就可以吧)
    6.对列表项的验证,比如男,女被用户填了个“人”(这个不是很容易封装,可以考虑交给控制层做???)
    7。对各类数据类型的格式验证,如文本、数字、日期、电话号码、身份证号、邮编等。(这个好办,用正则就行了)
    8.图像有效性,即图像是否存在,大小是否要调整等
    9.入库数据恢复到编辑界面时的处理
    10.以上各处理过程应该放在什么位置处理,即谁先谁后,是在入库时处理,还是在出库时处理等,特别是要考虑如何将入库数据返回编辑界面,让用户重新编辑的问题。(我一般是出库时处理)
    11.处理后的数据写库与读库时是不是只要addslashes/stripslashes就行了?(根据需要吧)

    暂这么多,也没想好,瞎说的,呵呵

  5. 返回顶部

    Re: 系统探讨表单的入库与出库

    2003年10月31日 发表人 terpomo

    >第 5 贴
    1.VBB解析与过虑(网上有相关的类,可以根据需要增加相关HTML的解析,但可以用户更希望用仿WORD的在线编辑器,用户可能不习惯用VBB代码)
    >这项是要考虑在不允许用户使用HMTL代码是的代替方法

    2.HTML格式,有效性验证(没用过,不知道有什么用,恐怕只有IE有这个本事吧)
    >这项是要考虑在用户的代码嵌入页面时引起的格式混乱,比如用户的,




  6. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

自定的mysql用户表跟ipb论坛用户表怎么...

是不是通过id?还要在自定义的用户表上加上ipb论坛的id作字段吗?

pp的图片`

喜欢~:p 想起了校园浪漫的时光~

请问怎么控制网页中表单中的文本框的高...

请问怎么控制网页中表单中的文本框的高度啊?? 还有怎么控...

传几张图片贿赂大家,看完之后到技术区...

眉目传情

在PHP++oracle里desc table不能用马?!

$liste = "desc table"; $statement_liste = OCIParse ($conn,...

关于计数器~~~~~~~~~~~~~~~~~~~~~~~~~~

用php作计数器 就是从库中提出count 再加1就 可以了吧 有什么锁...

娠传

上传用move_uploaded_file兼容性好还是copy兼容性好?

帮个忙

请问一下, MYSQL+PHP在LINUX环境下是很好组合吗?

Php如何实现文件压缩

请问如何用PHP压缩服务器某一目录里的所有文件成ZIP或RAR,然后自...

[PHP 5.0.0 BETA发布]Changes in PHP 5...

详见: http://sfcube.net/showart.php?aid=168&page=1

[]