刚刚脑子有点乱.POST的方法还是要全局替换的..

解决方案 »

  1.   

    PHP注入是比较危险的问题,呵呵,以前流行对ASP下手,现在的黑客都爱对PHP下手~~~~
    我一个网友专爱干这个,他说他分析了Discuz3.12的源代码以后就发现好几非常严重的漏洞,呵呵,能够轻易的成为后台管理员.......其实我觉得防范的有几个方法:
    1. 过滤一些特殊危险的变量
    2. 程序中尽量使用session,少用Cookie,能防止跨站脚本攻击
    3. 上传文件注意对文件扩展名和类型的控制,防止一些危险文件的上传
    4. php.ini中要设置严格,包括打开安全模式,register_global = off等设置,
    5. 服务器端对运行web server用户权限的控制,一般nobady保证安全,同时对web的目录权限设置
    6. 对一些危险函数的控制,包括system(),exec()等.别的还没想到,呵呵~~~高手指点!
      

  2.   

    我在对数据库操作类会把没一个字段自动替换'的。
    在传入的参数如果是整数,会用(int)强制转换一下
      

  3.   

    -------源-------
    PHP里面已经自带了一个函数.用AddSlashes即可.不过这样做有一点不好.就是
    所有的插入数据库中的文件都会多一些"/",虽然说可以用StripSlashes来去掉.但总觉得不爽.
    ----------------
    这种说法不对,addslashes不会在数据库中增加'/',这是sql语句的转义,至于有的程序会重复增加'/'的情况是他程序写得不好,他把'/'又返还客户端了
      

  4.   

    gundamzaku (Z钢弹) 我都跟你在qq上说过了.
    居然还发帖子上来了....
    $var1=addslashes($var)
    其实很简单:在数据的语句中用到变量都用'$var1'括起来...就可以了..
    以后要取出数据来你就可以用stripslashes()来返回..那个主入技术对你就没有任何干扰了..对了你应该知道我是谁吧..:)
      

  5.   

    oldSQL打好几年前就有
    你说的数据库的数据多“\”那是你程序写的不好!
      

  6.   

    其实很简单:在数据的语句中用到变量都用'$var1'括起来...就可以了..
    ------------------------------------------------------------------------用''是没效果了,人家输入',你的数据就出错了。在MySQL里,两个''就是一个转意
    基本赞同heiyeshuwu(黑夜路人)
      

  7.   

    啊..数据库多"\"这个是我猜想的啦
    其实我还没有正式用过addslashes这个函数的~
    T_T我只是想一起讨论一下.
    tod204(八十年代) 我认得你.
      

  8.   

    .........
    都在说什么啊
    mysql是\',mssql是''
      

  9.   

    to  countstars(深空)兄..
    你的变量里面有"'"但是我说过了可以用addslashes()来转义呀...
    这个我好象说了吧..
      

  10.   

    正如陈辉兄说的那样...
    addslashes不会在数据库中增加'/',这是sql语句的转义,至于有的程序会重复增加'/'的情况是他程序写得不好,他把'/'又返还客户端了stripslashes()可以去掉"/"返回页面...