2017-02-10 32 views
0

私たちは学校管理システム用のWebベースのアプリを作った。 (Codeigniter、PHP、MYSQL)。このアプリはlocalhostで動作しています。アプリでは、バックアップデータベースにオプションを提供しています。それはうまく動作しています。しかし、問題は、ユーザーがDBスキーマを参照するため、ユーザーがデータベースをダウンロードしないようにすることです(代わりに、ユーザーがバックアップをクリックしたときに、データベース(.sqlバックアップファイル)をサーバーにアップロードする必要があるということです)。また、そのシンプルな、唯一のスーパー管理者へのバックアップ機能を許可データベースバックアップファイルをサーバーにアップロードする方法は?

+0

Webアプリケーション自体からデータベースをバックアップすることは、実際には素晴らしい考えではありません。スクリプト実行時の制限により、バックアップが完了する前にバックアップスクリプトが終了する可能性があるからです。バックアップは、オペレーティング・システム・レベルでDBA/sysadminによって実行される必要があります。データベースをバックアップするコマンドラインから(定期的な形式でも)スクリプトを実行できます。 – Shadow

+0

アプリにはオペレータが1人しかいません。現在、オペレータはUSBデバイスでバックアップの仕事をしています。私たちはそのユーザーのバックアップデータベースが欲しいですが、ファイルがどこにあるかなどを気にしていないときにも、ユーザーがDBファイルを必要とするときに、ユーザーが行ったすべてのバックアップがあります。 –

+0

この場合、あなたはアプリケーションをホストしないのですか?これはプロのアプローチになります。 PHPを使用してデータベースをダンプし、スクリプト実行時の制限内でインターネットを介して遠隔地に送信することは、間違いなくプロフェッショナルではありません。 – Shadow

答えて

0

?私たちは、この場合に何をする必要があるか、専門家の提案が必要

。私たちのGmailアカウントにこのファイルをアップロードしようとした他のユーザーからそれを制限します

+0

私たちは同じことをしているアプリケーションでは役割を持っていますが、問題はアプリケーションがローカルで実行されており、バックアップを実行する演算子しかありません。演算子は、DBバックアップファイルをクリックすることができます&アプリは私たちのサーバーにドットSQLファイルをアップロードします。アプリオペレータからデータベースを隠している場合は、ファイル –

+0

にダウンロードされません。ローカルホスト/ phpmyadminにもアクセスすることができ、そこからバックアップを作成することができるので、その無駄なものよりも。そのためセキュリティ上の目的で作業することは無意味です。 –

+0

最も良いことは、バックアップが格納されているフォルダをロックすることです。 あなたは窓でそれをすることができます –

0

ユーザーからのデータベースバックアップオプションを制限してください。スーパー管理者のみに権限を与えてもよいでしょう。

+0

オペレータはDBをアップロードしてサーバにデータベースをバックアップすることができます.Super Adminは、クライアントが最新のDBを要求したときにサーバでのみこのDBを使用します。 –

関連する問題