首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL注入cshtml

SQL注入cshtml
EN

Stack Overflow用户
提问于 2017-01-26 17:21:59
回答 1查看 157关注 0票数 1

所以我在这里问了几个问题,并因为使用SQL注入漏洞代码而受到抨击,尽管网站不会在线,但有人建议我无论如何都要修复它,我现在正在尝试这样做。

所以我用下面的代码做了一个测试页面来测试它。

代码语言:javascript
复制
var date = "2017-01-26";

var testQuery = "SELECT * FROM Test WHERE date = @0";
db.Execute(testQuery, date);

到目前为止,仅仅运行这个页面就没有错误,但是大约99%的时间我从数据库中选择了一些东西,我使用一个foreach来显示我的数据。

代码语言:javascript
复制
foreach (var c in db.Query(testQuery))
{
    <a>@c.kg</a>
}

通过添加这样的foreach,它会给我一个错误:

A parameter is missing. [ Parameter ordinal = 1 ]

我做错了什么?除此之外,SQL注入是否也是安全的呢?PS。这不是MVC类型的项目。

EN

回答 1

Stack Overflow用户

发布于 2017-01-26 17:48:10

如果您数据库是EF上下文,则默认参数名称为p0,ie查询应为

代码语言:javascript
复制
var testQuery = "SELECT * FROM Test WHERE date = @p0";
foreach (var c in db.Query(testQuery, date)) ...

或者,提供SqlParameter作为第二个参数,而不是普通值

代码语言:javascript
复制
db.Query("... = @p", new SqlParameter('p', date))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41870222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档