Forum Moderators: buckworks
one solution is for us to run our own e-commerce site on our own server. given that this would require that we would have to store credit card details in our own database, what precautions are necessary in order for us to be 'safe'?
the thought that someone could break into our server and steal the credit card details there gives me real cause for concern.
In fact, in the UK, many banks will not give you merchant numbers if you do not use one of their chosen payment providers.
[webmasterworld.com...]
Understandably he didn't want to get too detailed in a public forum, but you should read the posts in that thread.
What works for me is a combination of luck and paranoia.
Obviously if your a mom & pop shop you should be able to trust your spouse with the information. However, it should not be stored on any server regardless of the hosting company security policy.
I haven't covered all bases yet, but I am investigating the situation represented in this article. [ecommerce.internet.com...] I would recommend reading it.
Problem is that the password to encrypt/decrypt the data would need to be stored in the scripts. If someone could get to your database, they probably can get to your scripts as well. Web servers are not secure by their very nature.
Easiest/cheapest solution. Use a cc processor like mentioned in this thread (I like AuthorizeNet) so you don't need to store the data.
If you need to store it in a database, set up a separate database server that's firewalled and closed shut as can be. Don't make it accessable to the public, only on a private LAN behind your webserver. Have the shop cart POST to the db server and let the db server handle the encryption. Don't allow the db server to pass cc data back to the web server. If you need to do a recurring charge, send the db server an ID and let the db server process the transaction. No need to pass CC data.
With this setup, the only way to get to the db server is through the web server. So someone would need to compromise the web server first, before trying to hack the db server. Since the db server does less it could be tighter (securiity). Hopefully you'd detect an intrusion on the web server before anyone had a chance to bust into the db server.
I wrote this real quick, hope it makes sense ;)