SQL注入问题

Eri*_*ric 1 asp.net asp.net-mvc entity-framework sql-injection

好吧,我使用这条路线

routes.MapRoute(
            "Catalog/Data",
            "Catalog/{*data}",
            new { controller = "Catalog", action = "Category", data = "" }
            );
Run Code Online (Sandbox Code Playgroud)

Url看起来像http:// localhost/Catalog/Computer/Harddrives/internal

数据在计算机/硬盘/内部部件上

我把它分开并验证这里的路线是我担心的地方,因为我不检查sql注入

我通过使用带有此功能的enitity框架从数据库中获取类别来检查路由

public Category GetByRoute(string Route)
    {
        return (from c in XEntity.CategorySet
                    .Where(c => c.Route == Route)
                    .Where(c => c.IsEnabled == true)
                select c).FirstOrDefault();
    }
Run Code Online (Sandbox Code Playgroud)

我应该担心sql注入吗?

blo*_*art 7

Linq2Sql和实体框架使用SQL参数(除了一个边缘情况),所以你会没事的.

在你的情况下,你实际上是使用Linq而不是CategorySet,并且在这种情况下linq在本地执行,所以它是触及数据库的CategorySet,后面的约束运行(我相信).在这种情况下再次没有问题.