観察:あなたは、あなたのシステム内の個人情報を保存するために提案されています。銀行口座の詳細を保管すると、侵入者がシステムに侵入し、情報が記録されている人物に対して身元盗難と銀行詐欺を行うことができます。これは非常に危険なです。私が任命された牧師でもあり、コンピュータープログラマーでもある人として話すことができれば、私はあなたにこれをしないことを勧めます。あなたの教会のメンバーは、このような危険にさらされていることは、単に公平ではありません。メールアドレス、名前、住所OK。これはあなたの公開ディレクトリにあるものと同じものです。しかし、名前、性別、年齢に注意してください。
いずれにしても、このプロジェクトの教会のリーダーシップの承認を得てください。あなたはこれのために唯一の責任を望んでいません。
私は、あなたのスタッフやボランティアの間で個人情報を知る必要がない人には、個人情報を見えないようにしていただき、ありがとうございます。誘惑を避けることについての教会の仕事には何かがあります:-)、あなたはそれを助けています。良い。
しかし、あなたの最も危険な脅威は、スタッフとボランティアあなたのphpMyadminページを見ることができません。サイバー犯罪者です。誰かがあなたのシステムをひどく壊した場合、おそらくあなたのWebアプリケーションである "コントロールパネル"がクラックされます。彼らがそれをするなら、それらの銀行口座番号を暗号化したかどうかは関係ありません。 Webアプリケーションでそのデータを使用するには、そのデータを解読するためのキーが必要です。サイバー犯罪者はそのようなものを見つける方法を知っています。 (Matthew 10:16.真剣に参照してください。)
複数のMySQLアカウントを設定してください。データベースにアクセスする人それぞれに1つずつ設定することをお勧めします。これを行うには、phpMyadminのユーザ管理ページを使用してください。 https://docs.phpmyadmin.net/en/latest/privileges.html
次に、各ユーザーに、彼女が見ることができるデータベースとテーブルへのアクセスを許可します。ユーザーに表が表示されないようにするには、その表に対してSELECT
特権を付与しないでください。
通常のSQLでもこれを行うことができます。
CREATE USER 'JackTheTeacher'@'*' IDENTIFIED BY 'secret-password';
GRANT SHOW DATABASES ON *.* TO 'JackTheTeacher'@'*';
GRANT INSERT, UPDATE, DELETE ON `mydb`.`students` TO 'JackTheTeacher'@'*';
CREATE USER 'SallyTreasurer'@'*' IDENTIFIED BY 'another-secret-password';
GRANT SHOW DATABASES ON *.* TO 'SallyTreasurer'@'*';
GRANT INSERT, UPDATE, DELETE ON `mydb`.`pledges` TO 'SallyTreasurer'@'*';
GRANT INSERT, UPDATE, DELETE ON `mydb`.`donations` TO 'SallyTreasurer'@'*';
FLUSH PRIVILEGES;
この例では、ジャックに彼がphpMyAdminのを使っているときstudents
テーブルを操作する権利を付与します。それは次のようになります。また、Sallyはpledges
とdonations
テーブルへのアクセスを許可します。これらは、ファイングレインのGRANT
操作の使用方法を示す単なる例です。
また、特定の列の内容を暗号化することもできます。しかし、その方向では、あなたのWebアプリケーションが使用するカラムを解読する鍵を必要とするため、誤った安全感があり、おそらくWebアプリケーションはシステムをクラックさせる最も簡単なルートです。
[PHPマニュアル](http://php.net/manual/en/faq.passwords.php) – FluxCoder
*「氏名、住所、電話番号、電子メールなどの連絡先情報を格納しています。将来の銀行口座の詳細とPHPmyAdminにアクセスする誰も望んでいない "* - それは非常に危険な音。自分が行っていることを正確に把握していない限り、銀行口座の詳細を保管するべきではありません。 –
特定の人にのみphpmyadminにアクセスしたい場合は、特定の特権だけに付与することができます。 –