gpt4 book ai didi

c# - 使用 SQL 参数绑定(bind)是否意味着可以直接从输入中输入文本?

转载 作者:行者123 更新时间:2023-11-30 14:03:59 30 4
gpt4 key购买 nike

正如标题所说,如果我使用的是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;

每当您寻找与转义字符串等有关的任何事情时,这似乎都是建议的,最终的答案是让参数绑定(bind)来完成它。但这能防止注入(inject)攻击之类的吗?或者您还需要执行一些服务器端验证吗?

来自高度定向的 PHP 背景,它违背了我 body 的每一根纤维,直接在查询中输入文本:p

最佳答案

您给出的示例在 SQL 注入(inject)方面是安全的。参数化查询唯一潜在的 SQL 注入(inject)问题是它们是否处理本身使用动态 SQL 的过程。

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

关于c# - 使用 SQL 参数绑定(bind)是否意味着可以直接从输入中输入文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3156151/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com