I use my American Express card every day, sometimes multiple times. I do a mixture of card-present and card-not-present transactions. AMEX has decent fraud detection and I get notified quickly if they suspect something.
However, for the third time in less than a year, my info was compromised. This time, the thief actually made a fake card and used it multiple times before it got blocked.
It got me wondering why seeming simple things are not used to prevent this. Some examples...
Every X transactions (where X is a small but random number) a photo ID is required to complete a card-present transaction with card confiscation if ID is not provided.
Every card-present transaction uses a cheap webcam to snap a photo of the holder. Legitimate users shouldn't be bothered by this, but it might prevent thieves from using fake cards.
One-time use numbers. My old Discover Card did this years ago. There was a web site that would generate a one-time use number, valid only for one transaction. Even if the info was intercepted in transit, it couldn't be used more than once, and would not compromise my real card info.
The coming chip-and-pin system in the US might help things a little bit, at least for card-present transactions. But for online purchases, it seems there are simple, inexpensive, minimally intrusive things that could be done. Why are the card issuers, banks, and gateways apparently not doing more and just eating the costs of fraud?