当前位置:  开发笔记 > 编程语言 > 正文

使用SQL参数绑定是否可以直接从输入中输入文本?

如何解决《使用SQL参数绑定是否可以直接从输入中输入文本?》经验,为你挑选了1个好方法。

正如标题所说,如果我使用SQL参数,即

SQLCommand cmd = new SQLCommand("select * from users where username = @user and password = @pass limit 1", Cxn);

cmd.Parameters.Add("@user", SqlDbType.VarChar):
cmd.Parameters.Add("@pass", SqlDbType.VarChar):

我可以直接输入参数值作为输入的直接输入吗?

cmd.Parameters["@user"].value = txtBxUserName.text;
cmd.Parameters["@pass"].value = txtBxPassword.text;

当你寻找与转义字符串等有关的任何东西时,这似乎是建议的,最终答案是让参数绑定做到这一点.但这能否防止注射攻击等?或者你还需要执行一些服务器端验证吗?

来自面向严密的PHP背景,它反对我身体的每一根纤维,直接将文本输入查询:p



1> Yellowfog..:

您提供的示例在SQL注入方面是安全的.参数化查询唯一可能的SQL注入问题是它们是否解决了本身使用动态SQL的proc.

当然,无论是否进行参数化,您仍然需要考虑XSS漏洞利用.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有