オンラインでデータベースをアップロード/アクセスする方法

ダニエレ・スト・ドミンゴ

私の店には小さなPOSシステムがあり、新しいアプリを作成してラップトップにインストールしたいのですが、問題は遠く離れた場所でもデータベースにアクセスする方法です。インターネット経由でアクセスできるようにデータベースをどこにアップロードできますか?

MySQLとC#のWindowsフォームアプリケーションを使用しています。

バアレオス

あなたの問題は、実際のコードベースの問題よりもシステムアーキテクチャの周りに聞こえます。

外出中にPOSデータベースにアクセスしたい場合は、いくつかの解決策があります。

  1. VPN /トンネルを使用すると、物理的に建物の外にいる場合でも、内部ネットワークに安全にアクセスできます。ただし、これはセットアップが難しい場合があります。

    1. POSデータベースをクラウドに移動できます-AWS、Azureなどのサービスを使用して、データベースを世界中に到達可能にします。ただし、これはセキュリティリスクをもたらします。データベースにアクセスするには、DBポートを一般に公開する必要があります。そうすると、人々はパスワードをブルートフォース攻撃しようとする可能性があります。

私が実際にお勧めする解決策は、DBをクラウドに配置し、DBポートが外部に対して閉じられていることを確認することです。データベースからデータを取得する場合は、データベースと同じマシンでホストされているMVCWebサービスアプリケーションを介して取得します。このようにして、カスタムアプリケーションロジックを使用してデータベースへのアクセスを制御できます。

それで、これが実装されたらどのように機能するか想像してみましょう

JSONRestリクエストをエンドポイントに送信します。

https://example.com/POSAPI/GetTransactions

{
   "SessionToken:"j9hf928hjo2ij09kr8023",
   "FromDate":"20-02-2018",
   "ToDate":"29-02-2018",
   "AmountToReturn":"45"
}

次に、指定したSessionTokenに基づいて認証します。この値は、5分間ユーザーを認証します。

エンドポイントからの応答は、FromDateとToDateの間に発生した45のトランザクションを送り返します。

ほとんどの人は、C#アプリケーションがクライアントベースのアプリケーションである場合、データベースに直接アクセスしてはならないことに同意します。C#アプリケーションは、保存されたクレデンシャルを取得するために簡単に分解できます。データベースアクセスの多くをWebベースのAPIに制限し、そのAPIを介したデータのフローとアクセスを制御することをお勧めします。

これは学習曲線であり、あなたが望んでいた最も単純な解決策ではないかもしれませんが、ほとんどの人は、データベースへの直接アクセスは通常セキュリティリスクであり、データベースと対話するためのAPIの使用は一般的にベストプラクティス。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Struts2アクションのグローバルインターセプタースタックをオーバーライドする方法

分類Dev

Laravel 5.5:データベースデータ(スキーマではありません!)をクリーンアップ/ドロップし、シーダーを使用して自動インクリメントをリセットする方法

分類Dev

アセットパイプライン(ペーパークリップ)からの画像をRailsデータベースにシードする方法は?

分類Dev

アンドロイドをオンラインデータベース(mysql)に接続する方法

分類Dev

CI / CDパイプラインでSQLデータベースのバックアップを作成する方法

分類Dev

msアクセスでプログラム的にデータベースオープン権限を付与する方法

分類Dev

WordPressプラグインのSQLデータベースにサードパーティのAPIアクセスをキャッシュする方法

分類Dev

データベースにアップロードするクライアント

分類Dev

インターネット経由でラズベリーデスクトップにアクセスする

分類Dev

アクセサを使用してプライベートデータメンバーにアクセスできる場合、プライベートメソッドにアクセスできないのはなぜですか?

分類Dev

C ++テンプレート演算子をオーバーロードしてプライベートプロパティにアクセスする方法

分類Dev

アンドロイドスタジオでデバイスファイルエクスプローラでテキストとして開いているデータベースファイルへのデフォルトセットを変更するには?

分類Dev

アンドロイドスタジオでセレクターを作る方法

分類Dev

オフラインモードでFirebaseリアルタイムデータベースの「プッシュ」のUIを更新する方法

分類Dev

アンドロイドスタジオのプレイストアplay-services-gcm:15.0.1でグーグルマップにアクセスする方法は?

分類Dev

オープンアクセスデータベースを参照する

分類Dev

PHP / OOP同じクラスのインスタンスが他のオブジェクトからプライベートプロパティ/メソッドにアクセスするのを回避する方法

分類Dev

イベントドリブンマイクロサービスで、プライベートデータベースを古いデータで更新する方法

分類Dev

codeigniterを使用してMYSQLデータベースの配列インデックスを使用してファイルをアップロードする方法

分類Dev

イオン角度アプリケーションでngrxでイオンストレージ(ローカルデータベース)を使用する方法

分類Dev

ドラッグアンドドロップ操作(DragEventArgs e)で内部(オブジェクトクラス)からデータを取得する方法

分類Dev

コマンドラインアプリケーション:子プロセスをxcodeデバッガーにアタッチする方法は?

分類Dev

Pythonでは、exceptブロックでデバッガーにドロップし、例外インスタンスにアクセスする方法は?

分類Dev

YouTube APIを介してアップロードすると、ビデオファイルが0%パーセントでスタックします

分類Dev

Twilioの「プログラム可能なビデオ」JWTアクセストークンを正しく処理する方法は?(アンドロイド)

分類Dev

JenkinsパイプラインジョブでBitBucketペイロードデータにアクセスする

分類Dev

クライアントにSQLサーバーデータベースを使用してアプリケーションをデプロイする方法

分類Dev

(未定義のインデックス: ドライバー) Laravel アプリケーションでデータベース クエリを実行しようとすると、なぜこのエラー メッセージが表示されるのですか?

分類Dev

Objective-cでオンラインデータベースにアクセスする

Related 関連記事

  1. 1

    Struts2アクションのグローバルインターセプタースタックをオーバーライドする方法

  2. 2

    Laravel 5.5:データベースデータ(スキーマではありません!)をクリーンアップ/ドロップし、シーダーを使用して自動インクリメントをリセットする方法

  3. 3

    アセットパイプライン(ペーパークリップ)からの画像をRailsデータベースにシードする方法は?

  4. 4

    アンドロイドをオンラインデータベース(mysql)に接続する方法

  5. 5

    CI / CDパイプラインでSQLデータベースのバックアップを作成する方法

  6. 6

    msアクセスでプログラム的にデータベースオープン権限を付与する方法

  7. 7

    WordPressプラグインのSQLデータベースにサードパーティのAPIアクセスをキャッシュする方法

  8. 8

    データベースにアップロードするクライアント

  9. 9

    インターネット経由でラズベリーデスクトップにアクセスする

  10. 10

    アクセサを使用してプライベートデータメンバーにアクセスできる場合、プライベートメソッドにアクセスできないのはなぜですか?

  11. 11

    C ++テンプレート演算子をオーバーロードしてプライベートプロパティにアクセスする方法

  12. 12

    アンドロイドスタジオでデバイスファイルエクスプローラでテキストとして開いているデータベースファイルへのデフォルトセットを変更するには?

  13. 13

    アンドロイドスタジオでセレクターを作る方法

  14. 14

    オフラインモードでFirebaseリアルタイムデータベースの「プッシュ」のUIを更新する方法

  15. 15

    アンドロイドスタジオのプレイストアplay-services-gcm:15.0.1でグーグルマップにアクセスする方法は?

  16. 16

    オープンアクセスデータベースを参照する

  17. 17

    PHP / OOP同じクラスのインスタンスが他のオブジェクトからプライベートプロパティ/メソッドにアクセスするのを回避する方法

  18. 18

    イベントドリブンマイクロサービスで、プライベートデータベースを古いデータで更新する方法

  19. 19

    codeigniterを使用してMYSQLデータベースの配列インデックスを使用してファイルをアップロードする方法

  20. 20

    イオン角度アプリケーションでngrxでイオンストレージ(ローカルデータベース)を使用する方法

  21. 21

    ドラッグアンドドロップ操作(DragEventArgs e)で内部(オブジェクトクラス)からデータを取得する方法

  22. 22

    コマンドラインアプリケーション:子プロセスをxcodeデバッガーにアタッチする方法は?

  23. 23

    Pythonでは、exceptブロックでデバッガーにドロップし、例外インスタンスにアクセスする方法は?

  24. 24

    YouTube APIを介してアップロードすると、ビデオファイルが0%パーセントでスタックします

  25. 25

    Twilioの「プログラム可能なビデオ」JWTアクセストークンを正しく処理する方法は?(アンドロイド)

  26. 26

    JenkinsパイプラインジョブでBitBucketペイロードデータにアクセスする

  27. 27

    クライアントにSQLサーバーデータベースを使用してアプリケーションをデプロイする方法

  28. 28

    (未定義のインデックス: ドライバー) Laravel アプリケーションでデータベース クエリを実行しようとすると、なぜこのエラー メッセージが表示されるのですか?

  29. 29

    Objective-cでオンラインデータベースにアクセスする

ホットタグ

アーカイブ