2012-04-05 7 views
0

これらはプログラミングの質問であるかどうかはわかりませんが、自分自身のような多くの新しいプログラマーが同じ質問をしています。phpとvfpを使ってより速く安全なWebサービスを依頼してください

私はwebサービスを作成して、phpを使ってvfp空きテーブルにデータを更新しました。私はVfpOledbを使ってphpとテーブルを接続しています。多くのクライアントは、このWebサービスを使用して、サーバー内の複数のテーブルにデータを更新します。例:ディレクトリZ.におけるテーブルt_salesにディレクトリXのテーブルt_salesにユーザ更新、ユーザBの更新ディレクトリYのテーブルt_salesに、ユーザCの更新

質問は次のとおりであるもの

  1. 他のユーザーのために別のphpファイル(webservice)を作成するか、スイッチのケース部分を内部に持つ1つのphpファイルを作成して、データソースの場所を特定します。

  2. どれが良い/より安全で、なぜですか?ユーザーからパラメータとしてデータソースの場所を送信するか、またはデータソースの場所をPHPファイルに保存しますか?データソースの場所によって

感謝

答えて

1

は、私はあなたがDBサーバとテーブルを参照していると仮定します。 DBサーバーとテーブルがあなたのものであると仮定し、ユーザーがアクセスできるテーブルを制限したい場合、内部的にdb情報を決定する必要があります。

  • データ:

    Webサービスは、情報の唯一の必要なビットであることと、 "?/ MYSERVICE /更新名= X &メール= Y &キー= 32453457830957834" のようにアクセスされているAPIを提供する必要があります

  • 検索/フィルタパラメータ
  • セキュリティトークンやAPIキー

これはあなたのワットを使用することが容易になりますを更新/挿入するためのebサービスを提供し、入力をエスケープする限り、注入攻撃に対して安全にします。 (テーブルをパラメータとして定義することができれば、それをエスケープすることはできません。そして、あなたとあなたのユーザーは、ユーザーの慈悲を受けています)。0120 DBへのアクセスにかかる時間と比較して、DBへのアクセスはほとんどのアプリケーションではごくわずかです。

+0

明確で有益な返信をありがとうございます。クライアントが私のデスクトップアプリケーションも使用している場合は、それは違いがありますか?私は彼らがトランザクションを行うために、アプリケーションを使用していることを意味します。彼らが '保存'を押すと、アプリはWebサービスを通じてデータを送信します。したがって、テーブルの場所はアプリで「ハードコード」されています。クライアントがテーブルの場所を把握できる方法はありますか? –

+0

プログラムがマシン上で実行されている場合は、プログラムを逆コンパイルして分析し、偽装することができます。クライアントを信頼することはできません。これまで – bdares

+0

申し訳ありませんが返信に時間がかかりました。実際、私の心配は私のクライアントではありません。誰もがインターネット経由で送信されたデータを「耳鳴り」させてパラメータを取得することは可能ですか?返信ありがとう: –

関連する問題