2012-04-05 72 views
0

我不確定這些是編程問題,但我確定像我這樣的新程序員一直在問同樣的問題。要求更快,更安全的web服務使用PHP和vfp

我創建了一個web服務來更新數據到一個vfp免費表使用php.I使用VfpOledb連接php和表。許多客戶端使用此webservice將其數據更新到服務器中的多個表。例如:用戶A更新到目錄X表t_sales,用戶B更新到目錄中Y臺t_sales,用戶C更新到目錄中Z.表t_sales

的問題是:

  1. 哪一個是更好/更快,爲什麼:爲不同的用戶創建不同的php文件(web服務),或者創建一個帶有開關盒部件的php文件來確定數據源位置?

  2. 哪一個更好/更安全以及爲什麼:將數據源位置作爲用戶的參數發送,或將數據源位置存儲在php文件中?

非常感謝

回答

1

通過數據源的位置,我會假設你指的是數據庫服務器和表。假設數據庫服務器和表是你的,並且你想限制用戶有權訪問哪些表,你應該在內部確定數據庫信息。

Web服務應該提供的,如 「/爲MyService /更新名稱= X &電子郵件= Y &鍵= 32453457830957834?」 訪問的API,以作爲唯一的信息所需的位:

  • 數據插入/更新
  • 搜索/濾波器參數
  • 安全令牌或API密鑰

這可以很容易地使用你的w^eb服務,並且只要您避開輸入,就可以防止注入攻擊。 (如果允許將表格定義爲參數,則無法將其轉義,然後您和您的用戶處於用戶的仁慈之中。)

至於性能,決定如何與數據庫事務處理相比,訪問數據庫對於大多數應用程序來說可以忽略不計。

+0

感謝您提供清晰,翔實的答覆。如果客戶也在使用我的桌面應用程序,它會有所作爲嗎?我的意思是他們正在使用vfp應用程序來執行交易。當他們點擊「保存」時,應用程序通過web服務發送數據。所以表格位置在應用程序中是「硬編碼」的。客戶還有辦法找出桌子的位置嗎? – 2012-04-05 02:46:15

+0

如果程序在他們的機器上運行,他們可以反編譯並分析它並欺騙它。你不能相信客戶。永遠。 – bdares 2012-04-06 04:52:52

+0

很抱歉需要很長時間才能回覆。其實,我的顧慮不是我的客戶。是否有人可以'通過互聯網發送'數據並獲取參數?謝謝你的回覆:) – 2012-04-09 01:55:16