With a citibank card, you can get a virtual number with an expiration date and even the three numbers on the back. This number is only good one time so no one can keep renewing anything.
I use this for all internet purchases and it works great.
Chuck