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

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

私の店には小さな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

関連記事

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

さまざまなデータベースアクティビティフィードをサブスクライブし、redisなどのアウトプロセスキャッシュを無効にするオープンソースコンポーネントはありますか?

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

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

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

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

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

TOP 一覧

  1. 1

    三項演算子良い練習の代わりとしてOptional.ofNullableを使用していますか?

  2. 2

    Spring Boot Filter is not getting invoked if remove @component in fitler class

  3. 3

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    ビュー用にサイズ変更した後の画像の高さと幅を取得する方法

  6. 6

    画像変更コードを実行してもボタンの画像が変更されない

  7. 7

    Three.js indexed BufferGeometry vs. InstancedBufferGeometry

  8. 8

    VisualStudioコードの特異点/ドッカー画像でPythonインタープリターを使用するにはどうすればよいですか?

  9. 9

    Python / SciPyのピーク検出アルゴリズム

  10. 10

    Ansibleで複数行のシェルスクリプトを実行する方法

  11. 11

    __init__。pyファイルの整理中に循環インポートエラーが発生しました

  12. 12

    二次導関数を数値計算するときの大きな誤差

  13. 13

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  14. 14

    androidsoongビルドシステムによるネイティブコードカバレッジ

  15. 15

    Reactでclsxを使用する方法

  16. 16

    値間の一致を見つける最も簡単な方法は何ですか

  17. 17

    Using Angular's UI-router, how can we make sure the new version of the html partial views are used, rather than the cached version?

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    PyTesseractを使用した背景色のため、スクリーンショットからテキストを読み取ることができません

  20. 20

    エンティティIDを含む@RequestBody属性をSpringの対応するエンティティに変換します

  21. 21

    How to access json value by key value in freemarker?

ホットタグ

アーカイブ