ホームページ >php教程 >PHP视频 >Accessセキュリティの詳しいQA解説

Accessセキュリティの詳しいQA解説

黄舟
黄舟オリジナル
2016-12-14 15:33:411563ブラウズ

Q MDB [スタートアップ] のオプションはすべて False で、カバー フォームで起動します。同じワークグループ内のユーザーは、許可なくテーブルを開いて変更することはできませんが、別の空のデータベースを作成し、インポートまたはリンクして変更することはできます。予防方法は?教えてください!

A まず、MS Access ワークグループ管理者プログラムを使用して、newSystem.mdw などの独自の MDW ファイルを作成し、次に newAdmin などの新しいアカウントを作成する必要があります。デフォルトのアカウントは AMDIN アカウント、GUEST アカウントなどです。次に、各アカウントのパスワードを設定します。次に、newAdmin アカウントでログインしてデータベースを作成するか、開発用に既存のデータベースにテーブルやフォームをインポートします。データベースのセキュリティを設定します。 newadmin アカウントに加えて、すべてのグループとユーザーがデータベースを開くことをブロックする必要があります。他の権限もブロックする必要があります。これで安全です。この場合、データベースを開くには、新しく作成した MDW ファイルにのみ関連付けることができ、newAdmin アカウントを使用して開くことができます。ただし、実際のアプリケーションでは、もちろん、newUser などのソフトウェアを実行するためのアカウントも作成する必要があります (デフォルトの「ユーザー」アカウントは使用しないほうがよいため、SYSTEM に関連付けられます。MDW で入力できます)。新しい SYSTEM を COPY に関連付けることもできるため、パスワードを設定したとしても安全ではありません。それに応じて、各テーブルの newUser アカウントの権限を設定します。ただし、設計を変更することはできません。つまり、フォームを実行するためにのみ使用されます。変更可能なすべての権限をブロックします。この場合、開発用と運用用の 2 つのアカウントが存在しますが、新たな問題は、それをユーザーに引き渡す場合、ユーザーは newUser アカウントのパスワードを知っている必要があることです。その場合、データは安全ではありません。簡単な例を挙げると、次のように文を書いてデータベースを実行するだけです。 strRunShell = "c:Program FilesMicrosoft OfficeOfficeMSACCESS.EXE /nostartup"

strRunShell = strRunShell & "/wrkgrp c :newSystem.mdw c:pinewood.mde /user newUser /PWD yourpassword"
RetVal = Shell(strRunShell, vbMaximizedFocus)
もちろん、これは単なる意味です。このセットには、ACCESS が有効かどうかの確認など、他のことを記述することもできます。インストールされているかどうか、パスが正しいかどうか、登録されているかどうかなど。 (添付: 上記の効果は、MDE ファイルにコンパイルされた別のデータベースを使用することによっても実現できます)

Q 私はユーザー セキュリティ グループも使用しましたが、ここで言うセキュリティとは主に内部の専門家などの外部の専門家を対象としています。リンのように、セキュリティがなくなったことについてはまったく話さないでください。
ACCESS には致命的な欠陥があります (おそらく私はその使い方をまだ知りません)。そのセキュリティ パフォーマンスは、現在のセキュリティ メカニズムを備えたデータベースでのみ使用できます。ユーザーが新しく作成したデータベースには役に立ちません。自分のアカウントで ACCESS にアクセスし、新しい *.MDB を作成し、リンク関数を使用してバックエンド データベース (またはフロントエンド データベースのテーブルがリンクされているため) をリンクします。バックエンド データベースのテーブルに再リンクするだけです)。テーブルの内容を理解していれば、自由に変更できます。
実際、Microsoft は ACCESS をわずかに変更して、そのセキュリティ メカニズムを現在のデータベースではなくすべてのデータベースに適用できるようにしました。当社のセキュリティ メカニズムは、不正な変更や破壊を防ぐだけなので、心配する必要はありません。これらの内部ユーザー。
そのため、ACCESSのシステムレベルのセキュリティメカニズムまたはOffice Developer Editionが必要であり、これも役立ちます

A 違う、違う、「ユーザーは自分のアカウントで ACCESS にログインし、新しい *.MDB を作成し、リンク関数を使用してバックエンド データベース (またはフロントエンド データベース) のテーブルをリンクするだけで済みます」フロントエンド データベースのテーブルはバックエンド データベースのテーブルにリンクされているため、再度リンクしているだけです)、テーブルの内容を理解している限り、自由に変更できます。この文は間違っています!本当にACCESSのセキュリティが私が言った通りに優れているのであれば、私が投稿した内容は空論かもしれません。私が言ったことや投稿したことをまだ実践していないかもしれません。実際には、そのようなことはありません。なぜなら、データベースを作成するために新しいシステム ファイル (つまり、MDW ファイル) を作成し、その新しいシステム ファイルに関連付けられているからです。このデータベースを開く権限は、次のユーザーによってのみ付与されます。 NEWUSER など、私が指定した固定ユーザーなので、他のユーザーは、どのシステム ファイルに関連付けられているかに関係なく、新しく作成されたデータベース接続を使用できません。その場合、ACCESS はずっと前に削除されているはずです。
信じられない場合は、データベースを作成して送信して、開けるかどうか確認してみましょう。私は 1997 年に ACCESS を開発に使い始めました。完成したさまざまなデータベースを繰り返しテストしてきました。もしあなたが言及した状況が可能であれば、他の人が開発した数十のデータベースをクラックしたいと考えています。 。 。 。
Q 新しい読み取り専用ワークグループと一般ユーザー (管理者権限なし) を作成し、システム ユーザー グループにアクセス許可を設定せず、ACCESS を終了し、新しい MDW ファイルを選択し、一般ユーザーでログインし、新しいファイルを作成します。

A 実際、私の投稿を注意深く読んでいないかもしれませんが、ACCESS のヘルプにさらに詳細な手順が記載されています。しかし、あなたに徹底的に理解してもらうために、愚か者の手順をリストします。親愛なる兄弟、私も愚か者の助けを読んでから徐々に賢くなりました。
1. まず、ACCESS インストール ディレクトリにある WRKGADM.EXE プログラムを使用して、独自の MDW ファイルを作成します。次に接続します。
2. ACCESS にログインした後、デフォルトのユーザーは ADMIN になります。必要に応じて MDB を作成し、ADMIN ユーザーのパスワードを変更し、将来の管理のために PINEWOOD などの新しいアカウントを作成します。私の将来のユーザーが使用します。 (グループを作成する必要はありません)
3. 再度ログインし、PINEWOOD としてログインし、パスワードを変更します。つまり、空のパスワードを変更します。 NEWUSER アカウントについても同様に繰り返します。
4. PINWOODでログインし、開発に必要なデータベースMDBソースファイルを作成し、MYCODEなどの名前を付けて保存し、セキュリティを設定します。セキュリティ設定がどこにあるかを知っておく必要があります。メニュー内にあります。 MYCODE に対するすべての ADMIN および GUEST 権限をブロックします。新しいテーブル、新しいモジュール、またはデータベースを開く権限に関係なく、すべての権限が削除されることに注意してください。その後、このデータベース上のすべてのグループのすべての権限もブロックされます。見逃せません。ユーザー グループがその権限をブロックしていない場合、このグループに属する ADMIN と GUEST はデータベースを開くことができます。
5. 次に、データベースに対する PINEWOOD の権限を設定します。もちろん、すべての権限が利用可能である必要があります。 NEWUSER 権限を設定します。もちろん、すべてのテーブル、クエリなどの設計権限を変更するだけでなく、読み取りおよび書き込み権限、データベースを開く権限、および実行権限も必要です。つまり、このアカウントはユーザーのためのものです。
6. その後、開発を行い、テーブルフォームを作成します。すでに完了しているので、インポートします。ただし、現時点ではデータベースは安全であり、他の人は MYCODE から何も取得できません。パスワードが分からない限り。
7. 開発後は、データベースを分離するかどうかはもちろんのこと、バックグラウンドの MDB データベースも同様に安全にする必要があります。次に、フロントエンド プログラムを MDE ファイルにコンパイルします。
8. EXE ファイルを作成します。他の投稿で述べたように、NEWUSER アカウントを使用してデータベースの EXE ファイルを開きます。これはユーザーがデータベースを使用するためにこの EXE を使用する以外に選択肢がないためのものです。
9. 次に、MDB をサーバーに配置し、MDE、MDW、および EXE をユーザーに公開します。もちろん、MDE と MDB の関係は事前に確立され、デバッグされます。プログラミング上でどのように対処するかは言うまでもありません。
10. 本当にセキュリティが必要な開発者にとっては、これだけで十分です。私の他の投稿を参照してください。 「注意」はいくつかのことを言いました。それらの質問は、使えば当然使われますが、使われないものはやはり役に立ちません。どの問題を解決すべきだと思いますか?

Q なんと? ! ! mdb、mdw、exe の 3 つのファイルを同時にコピーしますか?...
VB exe は簡単に逆コンパイルできることは言うまでもありませんが、最初に mdw ファイルを削除してから mdb ファイルを開くことはできないでしょうか? ? ?
アクセスのセキュリティがこれに限定されている場合、それは実際には「完全なセキュリティ」と呼ばれます。
さらに「安全な」方法が必要かどうかも尋ねてください。最初の 2 回で説明した方法は、コンピューターの知識が少しあれば誰でも解決できます。

A ファイル共有の場合、サーバーは MDB データベースをインストールするだけでよく、クライアントは EXE、MDW、MDE ファイルをインストールする必要があります。
注意:
1. データベースはバックエンドに配置する必要があり、MDE ファイルはコンパイルされており、非常に効率的であり、パスワードが解読された場合でもソース コードは漏洩しません。
2. ユーザーが MDW ファイルを削除すると、データベースにまったくアクセスできなくなります。MDW ファイルを使用せずに MDB ファイルにアクセスできるとしたら、セキュリティについてどう言えばよいでしょうか。
3. EXE ファイルは VB を使用する必要はありません。また、VB5 以降のバージョンは逆コンパイルできるとは聞いていません。また、対応するツールも見つかりません。
4. 現在、ACCESS データベースのユーザーレベルのセキュリティパスワードを解読するツールは数多くありますが、MDW ファイルのユーザーは、たとえ MDW ファイルを解読してもアクセス許可を取得できません。さらに、MDE ソース プログラム ファイル MDB はリリースされていないため、まったく入手できません。コンピュータを何気なく使用しない限り、それを入手できる場所はありません。したがって、プログラムは間違いなく安全ですが、データベース データのセキュリティは比較的安全ですが、それでも十分です。

その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。