小弟第一次建站,对网站的安全问题不了解,想sql注入,网页篡改,都是第一次听到。请各位大大给我介绍下建站时要注意的安全威胁,以及解决方法。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wxshushude】截止到2008-07-02 12:04:25的历史汇总数据(不包括此帖):
    发帖的总数量:14                       发帖的总分数:250                      
    结贴的总数量:13                       结贴的总分数:220                      
    无满意结贴数:6                        无满意结贴分:170                      
    未结的帖子数:1                        未结的总分数:30                       
    结贴的百分比:92.86 %               结分的百分比:88.00 %                  
    无满意结贴率:46.15 %               无满意结分率:77.27 %                  
    值得尊敬
      

  2.   

    这个也只是听过,没注意过,还是google一下
      

  3.   

    注入很简单,例如你从页面获取一个文本框的值比如叫userid然后下一个页面给出用户基本信息经常会这样写String userid=request.getParameter("userid");String sql="select * from user_tab where userid='"+userid+"'"然后执行。例如输入X013则查询select * from user_tab where userid='X013';但万一有心人士输入的是"0' or '1'='1"
    则查询select * from user_tab where userid='0' or '1'='1';
    看出来了啥意思吧。通过这个可以爆表,例如union方式,我猜你有个money表,select userid,name from user_tab where userid='0' or '1'='1'
    union
    select userid,salary from money 这样就看到你的其他表了
      

  4.   

    首先一定要控制好文本域,在后台接受之前要做好对特殊符号的过滤。
    如不让用户输入 = ,<> 之类的特殊符号,
    就像3楼说的要避免出现客户在文本域里写了 1=1 这种。并且很多人写管理员地址时喜欢用 www.***.com/admin/login.jsp 
    这个我个人是很反对的,建议不要起这种路径和名字,太容易让人找到你的管理登陆口了。