安全非常重要,特别PHP是一门弱类型语言,很多安全方面的工作需要通过框架或者我们自己来完成,细节很重要

解决方案 »

  1.   

    为了尽量不改变原数据,我更倾向于使用mysql_escape_string()处理字符,而不是写复杂且麻烦的字符处理流程。当然,我会将其封装在自己的方法中,一旦需要更严格的处理时,也只需对相应的封装方法处理即可。
      

  2.   


    同意"尽量不改变原数据", 
    楼上的那种方法,实际上需要在所有输出的时候stripslahes, 否则输出的字符会有多余的\ 
    不过在中文网站里,这个问题经常不被注意,
    但是在英文里, 象"I'm" 这种经常出现,就很成问题了.
      

  3.   

    if(magic_quotes_gpc())
          addslashes($cvalue);$sql = "..... id = '{$cvlaue}'";
    无论时间,数字,字符串什么的,都加引号就可以了
      

  4.   

    关注,ASP里是过滤单引号,PHP里的好象没有一个比较统一的标准!
      

  5.   

    asp aihaoz