Amex used to have a system that generated a one-time use credit card number for online purchases. THey've discontinued it.
What I do is just turn on the notifications on my account so I get a text any time there is a Card Not Present transaction and jump on them right away when they happen.
This isn't a legal question. You may get better answers over on creditboards.com

