Nas*_*aba 2 c# sql-server sql-injection
我是将数据库集成到程序中的新手,我最近开始研究连接到SQL数据库的Windows窗体(C#).在我的代码中,我用以下方式拧紧SQL语句:
sc.Open();
string Get_Form = ("SELECT MoM_Form.MoM_ID FROM MoM_Form WHERE MoM_Form.MoM_ID='" + TextBox_FormID.Text + "'");
SqlCommand cmd = new SqlCommand(Get_Form, sc);
int Get_Form_ID = Convert.ToInt32(cmd.ExecuteScalar());
sc.Close();
Run Code Online (Sandbox Code Playgroud)
但是,我记得有关SQL注入的课程,它清除了你不应该允许用户直接将数据插入到SQL语句中.
那么这是一种将SQL语句写入代码的正确而安全的方法吗?其次,如果我禁止用户将字符串插入文本框中,他仍然能够造成伤害吗?第三,如果不是,哪种插入方式最好?使用程序和参数?
您是否有充分理由不使用ORM?实体框架,Linq to SQL,NHibernate,仅举几例.除非你正在做一些非常复杂的SQL语句,否则ORM每次都是合乎逻辑的选择.它将处理连接,提供一定程度的安全性(即采取措施避免SQL注入),以及使代码更容易阅读和维护.
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |