0

嘿,我有一个 Silverlight 应用程序,它允许用户修改他们的用户名、密码、简历等。这些信息存储在 MySQL 数据库中,并使用 WCF Web 服务检索。

我需要在从用户接收到的所有信息进入数据库之前对其进行清理。目前我无法在我的数据库中存储撇号。清理输入(silverlight 或 WCF 方法)的最佳位置在哪里,我该怎么做?

顺便说一句,我不担心 SQL 注入,因为我将在几天内实现参数化查询。

谢谢

4

1 回答 1

2

这里的正确答案在某种程度上与架构偏好有关。这种类型的用户输入验证是系统规则。许多人会说所有规则的实施都应该在服务端完成。从严格的关注点分离的角度来看,所有规则都应该在系统服务端的业务逻辑中执行。

但是,当在客户端处理这种验证时,可以向用户提供更即时的反馈,从而产生更可用的界面。额外的好处是不会仅仅为了告诉用户他按下了错误的键而产生任何网络流量。

最后,这两种方法都没有错。“最佳”方法实际上只能由您想要的系统决定。架构纯度与用户响应能力。

您使用参数化查询是正确的。或者,您可以使用 ORM 并获得 SQL 注入保护。

于 2010-07-22T20:14:13.663 回答