嘿,我有一个silverlight应用程序,允许用户修改他们的用户名,密码,生物等。这些信息存储在MySQL数据库中,并使用WCF Web服务检索。
我需要清理用户在进入数据库之前收到的所有信息。目前我不能在我的数据库中存储撇号。清理输入(Silverlight或WCF方法)的最佳位置在哪里?我该怎么做?
BTW,我并不担心SQL注入,因为我将在几天内实现参数化查询。
由于
答案 0 :(得分:2)
这里的正确答案在某种程度上取决于建筑偏好。此类用户输入验证是系统规则。许多人会说所有规则的实施都应该在服务方面完成。从严格的关注点分离来看,所有规则都应该在系统服务端的业务逻辑中强制执行。
但是,当在客户端上处理这种验证时,可以向用户提供更多的即时反馈,从而产生更可用的界面。不仅仅是为了告诉用户他按错了密钥而不产生任何网络流量的额外好处。
最终两种方法都没有错。 “最佳”方法实际上只能由您对系统的需求决定。建筑纯度与用户响应能力。
您使用参数化查询是正确的。或者,您可以使用ORM并获得SQL注入保护。