A person can have a good heart without being naive.
Not really. There is no doubt though, that some people who perceive someone as having a "good heart" often mistakenly think they are an easy mark for whatever deceit they are selling.
I have a good heart but I don't attract leeches and low lifes.
Beggars, liars, leeches etc. couldn't care less what kind of heart you have, they'll still attempt to scam you.
Having a good heart, makes that right hook come out a little quicker.
Mostly you are right. I've seen way too many good hearted people being used as a doormat by the beggars, liars,leeches etc. Sometimes you can't protect them from themselves.