Best advice I was given by my bank was to keep one account purely for online purchases with it's own debit card. I keep no money in that account and transfer in when I want to make a purchase. It's an extra step as it means I have to do a transfer before any purchases but it does mean that if that card ever gets compromised there is never any money in the account to take,