我印象比较深的也就是特殊字符问题,一般会在存入取出的时候进行替换;回车换行在有些数据库存入取出需要替换,如informix,但像mysql就可以直接使用

解决方案 »

  1.   

    恩,我写了个替换特殊字符的函数,不知道有没有写全,或者是方法是不是合理
    //****************************************************
    //替换不合理值
    //eg.$CollegeId=Change($CollegeId);
    //2005-3-17 王于旦 编写
    //*****************************************************
    Function Change($str){
     $str=str_replace("&","&",$str);
     $str=str_replace("<","&lt;",$str);
     $str=str_replace(">","&gt;",$str);
     $str=str_replace("'","&acute;",$str);
            $str=str_replace(vbCrLf&vbCrlf,"</p><p>",$str);
            $str=str_replace(vbCrLf,"<br/>",$str);
            $str=str_replace("  "," ",$str);
            return $str;
    }
      

  2.   

    POST过来的信息用addslashes()处理一下,如果不想要HTML代码的话,那就再用htmlspecialchars()处理。
    在设计的时候尽量在register_globals = off状态下。
    页面之间相互传递的变量,用$_POST, $_GET, $_SESSION, $_COOKIE等。
      

  3.   

    为了屏蔽盗链,我写了个函数,不只是否有问题
    //------------------------------------------------------
    //******************************************************
    //防止页面盗链,及恶意的攻击
    //eg.ChangeRRL();
    //2005-3-18 王于旦 编写
    //******************************************************
    Function CheckURL(){
           $SERVER_V1=$_SERVER[HTTP_REFERER];
           $SERVER_V2=$_SERVER[SERVER_NAME];
           if (substr("$SERVER_V1",7,strlen("$SERVER_V2"))<>$SERVER_V2 )
            { echo"你提交的路径有误,禁止从站点外部提交数据!<br>";
              exit;
            }
    }
      

  4.   

    关于特殊字符的转换,PHP有相关的函数的,不用自己写。。htmlspecialchars: 将特殊字元转成 HTML 格式。 
    htmlentities: 将所有的字元都转成 HTML 字串。 
      

  5.   

    注意 php.ini的global 的设置问题,最好为off。注意使用session start之前不要有任何输出,如果服务器是linux要格外小心,包括数据库名的大小写等都比windows下严格。
      

  6.   

    http://club.phpe.net/index.php?act=ST&f=15&t=9466&s=17ded675ce24a44ae634bd1786a46763
      

  7.   

    为了屏蔽盗链,我写了个函数,不只是否有问题
    //------------------------------------------------------
    //******************************************************
    //防止页面盗链,及恶意的攻击
    //eg.ChangeRRL();
    //2005-3-18 王于旦 编写
    //******************************************************
    Function CheckURL(){
           $SERVER_V1=$_SERVER[HTTP_REFERER];
           $SERVER_V2=$_SERVER[SERVER_NAME];
           if (substr("$SERVER_V1",7,strlen("$SERVER_V2"))<>$SERVER_V2 )
            { echo"你提交的路径有误,禁止从站点外部提交数据!<br>";
              exit;
            }
    }
    这个有问题!!!!!!!!!
    因为不是所有的浏览器都保存HTTP_REFERER的!!
    而且可以人为修改!呵呵!不过这个函数绝大多数时候还是有用的!
      

  8.   

    关于防盗链,可以在下载的PHP脚本插入一个session数据,指明访问的ip和软件编号
    下载的地址先判断再转向但是还是觉得治标不治本要想真正防盗链
    得从底层做
    比如 读入文件再出来或是再linux上面想点办法咯
      

  9.   

    php还是用session好,cookies不能跨页使用真是郁闷啊。
    不过服务器运行时间长了,session记录一大堆。
      

  10.   

    cookie 不能跨页使用???????
    php 还要用cookie来保存session 的id呢!There are two methods to propagate a session id: 
    1 Cookies 
    2 URL parameter 
        The session module supports both methods. Cookies are optimal, but because they are not always available, we also provide an alternative way. The second method embeds the session id directly into URLs. 
      

  11.   

    字母的大小写,代码缩排,要考虑移植性的问题,还有安全的问题如$_POST[] $_GET[] $_COOKIE[] $_SESSION[] $_SERVER[]