gpt4 book ai didi

c# - 将数据库索引公开给 Silverlight 客户端是否安全?

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:19 25 4
gpt4 key购买 nike

我有一个通过 WCF 与 ASP.NET 后端通信的 Silverlight 应用程序。我有一组我定义的 DataContract 对象(大部分)匹配我的 LINQ to SQL 生成的类型,我的 ASP.NET 后端使用这些类型。当我需要将数据传输到我的 Silverlight 客户端时,我的 WCF 代码从 LINQ to SQL 生成器类型生成我的 DataContract 对象的实例。

我的问题如下:通过我的 DataContract 对象公开索引(用作数据库中的主键)有哪些安全隐患?

我的数据库中的示例表(位置)具有以下列:

  • PositionIndex : int (主键)
  • 职位名称:字符串
  • 位置类型:整数

相应的对象(或多或少)是这样的:

public class Position
{
public int PositionIndex { get; set; }
public string PositionName { get; set; }
public int PositionTYpe { get; set; }
}

我很担心,因为我知道通过反射对 Silverlight DLL 进行逆向工程是多么容易 - 任何潜在的坏人都会知道我正在向客户端提供数据库索引,并且由于他们可以对 Silverlight DLL 进行逆向工程,他们可以轻松获取我的 WCF 服务的 URL 并尝试破坏它们。现在,我已经很好并采纳了许多前人的建议,并且我在 ASP.NET 端进行了很多很多检查以验证我的 WCF 服务是否获得合法输入,但我仍然担心我正在做一些坏事,让潜在的坏人了解我的系统后端是如何设计的,不是很多,而是一些,而且我已经工作了足够长的时间,知道这对于一个有决心的人来说已经绰绰有余了开始。

大家怎么看?如果我在我的 DataContracts 中使用索引做了坏事,你能建议一个替代方案吗?我发现很难想出一个不提供该索引的设计,因为我需要 Silverlight 客户端更新数据库中已有的行,而拥有索引是我认为可以提供帮助的最佳方式ASP.NET 端确定它需要更新数据库中的哪一行。

最佳答案

https://stackoverflow.com/questions/ 454771/is-it-safe-to-expose-database-indices-to-silverlight-clients

在 URL 等中使用主键是标准做法。您必须注意的是,在将资源发回之前确保允许客户端查看该资源。

:)

关于c# - 将数据库索引公开给 Silverlight 客户端是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/454771/

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