Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I have this website in which I will ask users to input the following banking information.

  1. Bank account holder name:
  2. Bank account number:
  3. 9 digit routing number:

I need these information from users to pay them by check. And it's necessary for me to store them on my server (I'm using Apache) and display it to admin only.

I've very very limited knowledge of security and encryption.

Please tell me how to make this secured as this isn't sufficiently encrypted. Maybe there should be additional password protection on the page where this info is display?

Oh and does PCI standards apply to banking info as well or just credit card info? If it applies to banking info too then I need to make sure I follow requirement #3 and #4, correct?

Here is the technology I'm using:

Server: Apache

CMS: Drupal

Frameworks: PHP

Please help!

share|improve this question
Please walk away from this project. – Lucas Kauffman Jan 18 '13 at 22:41

You aren't in scope of PCI for having bank account numbers. You might face other regulatory requirements including general data protection issues depending on your region and business type.

That said, many of PCI requirements make for good guidelines when you are designing and operating an application that handles sensitive data.

So, from the viewpoint of app architecture, you might consider issues like:

  • putting the database on a separate server, potentially with network boundaries between them
  • encrypting the data, using a key that isn't stored in the same place as the data; potentially, tokenisation (even if manual)
  • separating the admin interface from anything accessed by a wider userbase, potentially on a different server, and enforce access restrictions in a reliable way (eg firewall rules)

and so on. The aim being to ensure that a compromise on a widely-available interface (eg public web site) doesn't spread to give full access to the sensitive data in the database.

share|improve this answer

I've very very limited knowledge of security and encryption.

Then you shouldn't attempt to store banking information yourself. This is similar to not being familiar with knowing much about medicine but attempting to do surgery.

Hire a security expert to develop (or deploy an existing) safe system for you or hire a third party do your payment/payout processing. If you are questioning whether what you are doing is compliant with the relevant regulations, consult a lawyer.

There are many ways you can introduce security vulnerabilities when you don't know what you are doing. You may be liable for any attacks on your system. If someone hacks your database, could they potentially reroute payments to accounts they control? Or change the amounts of the payments?

Also see:

share|improve this answer

You have to not store third party's private informations in your database!

Your system must drop all private information at end of transaction, in a secure way.

If your system become corrupted, you'll be responsible if a hacker take a copy of your database!

share|improve this answer
While not persisting private data is always the safest bet, it's not always possible. Case in point; the OP states he needs this information to cut checks, which usually happens as a batch process, thus requiring the information to be stored until there's enough of a "batch" to run. Consider this as similar to a payroll system with a web UI that would allow employees to change W-2 or direct deposit information. All that information must be persisted long-term, or the employee doesn't get his paycheck. There are ways to store it in a protected manner. – KeithS Jan 17 '13 at 19:49
I'm not sure to rightly understand the need, but if such kind of digest, is there possible to encrypt orders with bank's public key before storing them in such batch to run? In this case, datas stay readable only by destinataire. At all, ensure to validate the process whith all third partys (bank in first) – F. Hauri Jan 17 '13 at 22:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.