2012-05-01 23 views
1

機密データ(クレジットカードなど)を保存する最良の方法は何ですか?元のテキストを取得できる必要があるため、ハッシュすることはできません。私はいくつかのアイデアを持っています。それはfwrite()機密データを保存する最良の方法

を使用してファイルに暗号化されAES_ENCRYPT()AES_DECRYPT()

  • ストアで

    1. 使用MySQLの今、私が安全ではありませんMySQLの暗号化することや機能を解読知っている、いずれかのがあります私は簡単で、速く、安全なPHPで使用できる暗号化?

  • +1

    プログラミングに関する回答ではありませんが、クレジットカード情報について言えば、他の誰かがそれに対処してほしいということです(あなたは責任を負いません)。 –

    +1

    @BrendanLongはまさに正しいです。ほとんどの場合、「どのように私はクレジットカードを保管すべきですか?」という答えは「しないでください!」です。 – ceejayoz

    +0

    私が知っているのは、私が作業しているウェブサイトでは非常に扱いにくいですが。 –

    答えて

    7

    サーバーにクレジットカード番号を保存しないでください!この情報をデータベースに格納することで、ハッカーにとって非常に魅力的なターゲットになります。そしてあなたがそれを守ることができると思えば、もう一度考えてください。ハッカーは、優れたセキュリティを持つ企業のセキュリティを撃退しました。あなたのセキュリティはこれ以上改善されません。

    Authorize.Net's Customer Information Manager (CIM)のようなサービスを使用して、サーバーに支払いプロファイルを作成できるようにする(つまり、情報を保存する)ことをお勧めします。そうすることで、必要なときにいつでも顧客に請求することができますが、クレジットカード情報を保存する必要はありません。

    自分で行うことを強くお勧めする場合は、in this guideのPCI規則に従わなければなりません。しかし、あなたは理解しやすいthis guideを見つけるかもしれません。あなたが知る必要があるものについては、14ページを参照してください。基本的には保存できますが、PCI規格に従って暗号化する必要があります。

    参考までに、お客様のサーバーとネットワークも安全である必要があります。パズルがPCI対応でない場合は、クレジットカード番号を保存することはできません。それは解決策としてほとんどの共有ホスティング会社を排除します。

    +0

    私はちょうどそれを扱うために第三者を得るだろうと思う。 –

    +1

    Bcryptは暗号化ではなくハッシングを行うので、クレジットカードには役に立ちません。 –

    +0

    私の頭の中の脳全体のパーツ。削除されました。 –

    3

    通常、カード番号を保存する唯一の理由は、定期購入/定期支払いのためです。優れた支払いサービスプロバイダは、カードの詳細ではなく、保存するためのトークンを提供し、次にそのカードに再度プッシュするだけです。

    カード番号を暗号化/復号化する必要がある場合は、PHPのmcryptライブラリを見て、3桁のセキュリティコードをどこにでも保存しないでください。これまで

    関連する問題