2017-12-13 11 views
1

私は自分自身のゲームパネルを構築しており、Linuxサーバのユーザとパスワードをデータベースに導入する必要がありました。これにより、ゲームパネルはサーバを管理できます。Mysqlデータベースに導入されたデータを暗号化してPHPで読む

ユーザがLinuxユーザとパスワードを入力すると、プレーンテキストでデータベースに格納され、PHPスクリプトで取得されます。しかし、データベースが侵害された場合、ハッカーはサーバーにも侵害する可能性があります。

現時点で私はpassword_hash($password, PASSWORD_BCRYPT)password_verifyを実装したレジスタとログインシステムを使用しています。私は自分の問題にこの方法を使いこなそうとしましたが、保存されたパスワードと一致させるためにはユーザー入力が必要でした。

私が必要とするのは、ユーザーとパスワードをデータベースに保存することです。ハッカーが自分のデータベースに違反した場合、すべてのデータがそこに無駄になることがあります。

私はJavascriptとBASHを扱う初心者PHPウェブ開発者です。私はまだこれらの分野の初心者です。あなたが私の初心者に優しい回答を提供できるならば、私はあなたに感謝以上のものになるでしょう。 (私の最初の質問は時間内に答えられたので、私はこれも解決策を見つけるだろう)

+0

考えてみましょう:サーバーにユーザー名とパスワードを解読する機能があり、ハッカーがサーバーの制御権を持っている場合、ハッカーがユーザー名とパスワードも解読できるということになるのは論理的です。あなたが記述していることは、理論的には解決できません。鍵材料をサーバーから移動する必要があります。 –

+0

そして、私の問題の最良の選択肢は何ですか?どのようにこの機密データを保存すればよいでしょうか、安全にデータを取り出す方法は?私は実際にはBULLETPROOFソリューションは必要ありません。私は、あなたのウェブサイトをどのように守ろうと努力しても、常に違う規模の違反があることに気付いています。私が必要とするのは、この問題についてはあまり知られていないので、良い解決策です。私は無知のように見えるかもしれませんが、私はGoogle上の件名を検索しましたが、私はちょうどどんな情報源も信じることができず、経験がなければひどい間違いを犯す可能性があることを知っています。 – GMBeniamin

答えて

1

私はこれらの日にもデータ暗号化に関する情報を得ており、法的にはGDPR (The EU General Data Protection Regulation)が要求するコンセプト。 MySQLを使用し

  1. は、PHPでのOpenSSL関数を使用してAES_ENCRYPT/AES_DECRYPT
  2. を機能、特に:あなたはあなたのデータを暗号化することができ、主に二つの方法、あなたのDBに格納することが準備があるPHPとMySQLを使用して

    openssl_encryptおよびopenssl_decrypt(特に、AES-256-CBC暗号化を提供します)。その使い方を知るには、関数のドキュメントの例を直接見たり、StackExchangeのthis answerを調べたりできます。

あなたは機会を持っている場合、私はあなたを示唆して何を、あなたは簡単AES-256-CBCでOpenSSLを使用してデータを暗号化するために必要なすべてを提供しLaravelとそのencrypterを、使用することです。

関連する問題