0

ストアのローカルサーバーで使用されるストア在庫管理PHP/SQLデータベースを作成しています。今、私は問題で立ち往生しています。誰かがデータベースをクライアントPCから別のPCに許可なくコピーするのを防ぐにはどうすればよいですか?開発者だけがインストールできるデータベースをどのように開発できますか?提案のいくつかは次のとおりです。

  • マシンコードなどを使用するには、たとえばデータベースは1台のPCでのみ機能しますが、それでも一部のPCがコントローラーコードを変更し、開発者の許可なしに不正にコピーする可能性があります。
  • 他の提案はログインシステムを使用することかもしれませんが、それでもクライアントは他の人にコピーを渡し、ログイン情報を共有するかもしれません。

だから私の質問は:php / Sqlデータベースの違法コピーを防ぐための良い方法はありますか?

言い換えれば、データベースがクライアントPC / PCでのみ機能し、誰かがそれを他のPCにコピーした場合、データベースが機能しないようにする方法はありますか?助けてください!

4

3 に答える 3

0

これに対する「最良の」解決策は、

  1. どこにも入力されていないキー(パスワード)を使用して、PC上のすべてを暗号化します
  2. 誰かがそれをコピーできないようにあなたのPCをロックしてください。

誰かがデータを入手した場合、たとえ暗号化されていても、必要に応じて暗号化を解除します。だから彼らがそれにアクセスするのをやめなさいがあなたの最善の防御です。

データベース内のデータを暗号化することもできますが、キーはどこかに保存されます。彼らがあなたのPCにアクセスできる場合、彼らは暗号化解除キーにアクセスできます。他の「プログラムされた」防御(コンピュータのハードウェア/レジストリキーのチェックなど)も同様にプログラムできます。

したがって、これはPCの暗号化にフォールバックします。うまくいけば、暗号化キーは書き留められておらず、ロックダウンされているため、誰かが最初にデータを取得できません。

于 2012-07-01T02:09:09.500 に答える
0

データベースをマシン固有にインストールする方法はありません。最善の方法は、暗号化されたファイルシステムに保存し、サーバーへの強力なキーベースの認証済みアクセス、使用されていないポートのシャットオフ、ソフトウェアが最新であることの確認、すべての暗号化などのセキュリティ対策を講じることです。クライアントとサーバー間の通信など、およびマシンを物理的に保護します。(これが、たとえば、Googleのデータセンターが施設で高度なセキュリティを備えてアクセス制御されている理由です。また、原則として、データセンターの場所を公開することすらありません。)

そして本当に、あなたがそれについて考えるとき、これは良いことです。結局のところ、サーバーがクラッシュした場合はどうなりますか?データを別のサーバーに復元する方法がまったくないことを本当に望んでいますか?

セキュリティは重要ですが、できることはたくさんあります。ある時点で、実際的な考慮事項に基づいて妥協する必要があります。

于 2012-07-01T06:33:27.047 に答える
0

私は答えを高く評価していますが、現在の答えではあまり適切な解決策が得られなかったためです。いくつかの調査と答えを見据えた後、私はそれを行う方法を見つけました。クライアントPCの暗号化された隠しファイルやマシンコードやキーなどに依存するデータベースを作成できます。データベースのインストール時に、これらのセキュリティ対策(隠しファイルまたはマシンコードまたはキー)を適用するためのスクリプトを開発する必要があります。データベースは、セキュリティ対策(隠しファイルまたはマシンコードまたはキー)が適切に実行されていないと機能しないはずです。開発者は、インストールスクリプトを保持し、データベースをクライアントPCにインストールするときに使用する必要があります。そのスクリプトがないとデータベースはインストールされないため、開発者の許可なしにデータベースをインストール/コピーすることはできません。

于 2012-07-01T16:24:10.593 に答える