最近在做论坛的项目,遇上了安全性的问题。
请教高手们 , 什么方法能最好,最安全的过滤用户提交的信息呢?
我是菜鸟,教详细些 , 万分感激丫!!

解决方案 »

  1.   


    明白 ! 
    可是我不懂如何恶意破坏sql数据库,但却担心放上网后被人破坏我的数据库,所以请教各位有经验的前辈.
      

  2.   

    sql注入?看这个吧
    http://www.cnblogs.com/LoveJenny/archive/2013/01/15/2860553.html
      

  3.   


    sql参数化,控制读写权限。一般情况下都没什么问题。
      

  4.   

    sql我已经参数化了 , 可是论坛不能设写入限权丫 ! 这样够安全吗 ? 
    我还遇到一个问题 ,就是文本框是不是不能输入html 的元素字符啊 ? 
    比如我写 <br> 就报错了 。请教一般论坛是怎么做到的呢? 
      

  5.   


    sql 我已参数化了  帮我看看代码可以吗? connection = new MySqlConnection(connectionString);
                            connection.Open();                        string loginusername = txtloginusername.Text.ToLower();
                            string loginpassword = txtloginpassword.Text.ToLower();
                           // loginusername = convertforsql(loginusername);
                           // loginpassword = convertforsql(loginpassword);                        //string sql_login = "select COUNT(*) as Admin_login from Stoogesmember where member_username ='" + loginusername + "' and member_password='" + loginpassword + "'";
                            string sql_login = "select COUNT(*) as Admin_login from Stoogesmember where member_username =?loginName and member_password=?password";                        //改SQL 语句 table,column 要改                        MySqlCommand myCommand = new MySqlCommand(sql_login, connection);
                            myCommand.Parameters.Add(new MySqlParameter("loginName", MySqlDbType.VarChar)).Value = loginusername;
                            myCommand.Parameters.Add(new MySqlParameter("password", MySqlDbType.VarChar)).Value = loginpassword;                        MySqlDataReader myReader = null;                        myReader = myCommand.ExecuteReader();可是我没有设写入限权 
    我这样写的话安全吗 ?
     validateRequest="false"        public string Encode(string str)
            {
                str = str.Replace("&", "&amp;");
                str = str.Replace("'", "''");
                str = str.Replace("\\", "&quot;");
                str = str.Replace(" ", "&nbsp;");
                str = str.Replace("<", "&lt;");
                str = str.Replace(">", "&gt;");
                str = str.Replace("\r\n", "<br>");
                return str;
            }
            public string Decode(string str)
            {
                str = str.Replace("<br>", "\r\n");
                str = str.Replace("&gt;", ">");
                str = str.Replace("&lt;", "<");
                str = str.Replace("&nbsp;", " ");
                str = str.Replace("&quot;", "\\");
                str = str.Replace("&amp;", "&");
                return str;
            }