Revolut (and I assume others now) have a virtual card. It means that every time you use the card online the number changes (basically generates a random number for online only)
Good way to avoid fraud although I guess the bad guys will figure it out even before the laggard banks introduce it