tags:

views:

166

answers:

3

I have a client that needs SSL to protect online donations, but I have limited experience with how/when to use SSL.

I understand that in purchasing a certificate that I am assigning that certificate to an entire domain (IP address really). Is there a way to isolate the encryption to only a single page of the website, or should I just go ahead and secure the entire site even though only one page needs it?

Unsure of best practice here. Please advise.

+3  A: 

SSL incurs quite extra processing time. For low bandwidth sites, the extra processing required by SSL is not really noticable. But for sites with heavy traffic like Facebook, Twitter and Flickr the load caused by SSL is heavy enough that they would have to use didicated SSL encoding/decoding hardware.

So basically yes, it makes sense to minimize the number of pages using SSL. That is why you often see banking sites only protect the actual account pages via https. The home/landing page is usually plain old http.

On the other hand, unless you really are a site like Twitter or Facebook or Gmail, worrying about this is a bit of a premature optimization. First do it simple if you can. Be aware of this issue and be aware of upgrade strategies when you site finally get heavy traffic.

My boss has a saying: this is a happy problem to have. First solve the sad problem of not having enough users then you'd be happy to have a problem that requires you to refactor your architecture.

slebetman
+4  A: 

You don't encrypt a website with SSL. you encrypt the connection. Therefore if you have SSL enabled for the webserver simply adding https:// to the url will encrypt the connection and whatever page the url points to will be encrypted while in transit.

so https://www.website.com/index.html is encrypted and http://www.website.com/index.html is NOT encrypted

I prefer for that to never happen so I always put my encrypted pages in a subdomain eg. https://secure.website.com/index.html

SSL comes with a couple of gotcha's

1/ a basic SSL certificate will only be valid for a specific domain name so if the certificate for is www.website.com and someone follows a link for website.com a warning will be displayed.

2/ SSL requires a dedicated IP (which you appear to have). that means you may have problems if you are on a shared platform. this is because in HTTP the host or domain name is part of the headers but the headers are encrypted so the server can't know where to route the request to.

It sounds like you really need to emply the services of someone familiar with ecommerce and SSL to help you. navigating the minefield with limited knowledge and forum responses is not the safest thing to do. especially if financial transactions are taking place because there are other requirements that must be considered such as the legal requirements in storing and using financial information such as credit card numbers.

DC

Addendum:

For donations consider Paypal. They have a complete donation solution and more people will trust it than a roll your own solution.

DeveloperChris
A: 

also, you mentioned that an SSL certificate protects an IP address. This is incorrect. An SSL certificate corresponds to a domain. Many schemes exist where several domains share a single IP address. If one of these shared domains has an SSL certificate, that certificate is only good for that domain, not the others.

darren