我不确定这些是否是编程问题,但我相信很多像我这样的新程序员都在问同样的问题。
我创建了一个Web服务,使用php将数据更新为vfp免费表。我使用VfpOledb来连接php和表。许多客户端使用此Web服务将其数据更新到服务器中的多个表中。示例:用户A更新到目录X中的表t_sales,用户B更新到目录Y中的表t_sales,而用户C更新到目录Z中的表X_sales。
问题是:
-
哪一个更好/更快?为什么:为不同的用户创建不同的php文件(webservice),还是创建一个包含switchcase部分的php文件来确定数据源位置?
-
哪一个更好/更安全?为什么:将数据源位置作为参数从用户发送,还是将数据源存储在php文件中?
非常感谢
根据数据源位置,我假设您指的是DB服务器和表。假设数据库服务器和表是您的,并且您希望限制用户可以访问哪些表,那么您应该在内部确定数据库信息。
Web服务应提供一个API,可以访问,如"/myservice/update?name=x&email=y&key=324537830957834",只有所需的信息位:
- 用于插入/更新的数据
- 搜索/筛选参数
- 安全令牌或api密钥
这使您可以轻松使用web服务,并且只要您逃离输入,就可以安全地抵御注入攻击。(如果你允许将表定义为一个参数,你就无法对其进行转义,那么你和你的用户就只能任由用户摆布了。)
至于性能,与数据库事务所需的时间相比,对于大多数应用程序来说,决定如何访问数据库的逻辑可以忽略不计。