验证从web上传的大量字段数据的最佳实践是什么?


What is the best practice for validating field data in large upload from the web?

我会解释我在做什么。

我需要验证具有受限数据的文件,这些文件有超过100k行,每个行有120个字段,每个字段根据定义的格式有自己的验证,例如"COD234-ES"等其他不同的格式,

我需要从SQL SERVER 2008数据库中插入这个数据到表中,但是在插入这个数据之前必须验证。

这些文件必须通过PHP框架中的web界面从客户端上传。

在性能和效率方面,我的问题是,哪一个是最好的实践?

首先在客户端验证然后上传,首先上传到服务器,然后使用PHP验证或上传批量插入到数据库,然后使用transaction -sql验证?

对于许多验证,我认为使用REGEX表达式,但在SQL中是l

我很感激你能指导我以最好的方式做这件事。谢谢大家

您需要尽早验证。

如果你可以在客户端验证,总是这样做,因为它将节省客户端网络带宽以及服务器加载。您的客户端可能比服务器多。

如果你可以在PHP中验证,那比在数据库中更好,因为它通常更容易将负载分散到多个web服务器上并保持单个数据库,而不是将数据库分散到多个服务器上。

简单的答案是,您必须在客户端和服务器端同时验证。
在客户端,因为上传大量数据对用户太不友好,所以会得到一条错误消息。

但是,您需要在服务器上重新验证,因为恶意人员(或自动上传界面)可以绕过您的客户端测试,并故意或愚蠢地引入垃圾或恶意数据。

同意rjmunro和Quandary,在客户端和服务器端验证您的数据。使用transact-sql(或仅在测试阶段)重新验证不是很有用,但您可以在创建表时进行约束检查。