I'm sorry, but I think the best defence against any scam is plain common sense.
I mean really, would you give your credit card info to just anyone who walked up to you on the street and asked for it? Unfortuantely the answer for alot of people is "YES".
When I was in college (many moons ago) we ran a study on how easy it is to con people. We went to the 'Dollar Store' (or equivilant ) and purchased fake badges and ID cards. (they really looked faky too) and put them in a little billfold like folder. Then we stood on a corner in downtown Seattle and stopped random people, and asked them to confirm their identities. Out of the 62 people we stopped, only 21 questioned our right or our ID's. Seven of those complied with us after only slight intimidation.
[note: we were going for 250 stops, but one of our 4 teams stopped an off duty policeman and were arrested -- later released with a warning]
Most people hardly even glanced at the ID's we flashed, and basically handed us everything in their wallets. Actually, that is very scary.