You have to do what you have to do to protect self and family. There are many many dog owners who are irresponsible or just do not care. I would contact animal control. Here where I live fines double for each incident of dog running at large. 1st offense $100 2nd offense $200 and so on. If the animal is vicious and attacks passersby,as in your case, then there are steep additional fines. Had some gangbangers who lived about 3 blocks from me and they had 2 pit bull rottweiler mix dogs. Not safe to walk near there. Once time one of them came charging at my Forester as I drove by and was lucky that I sped up a bit or I would have run over him, as it turned out he went headfirst right into my driver side passenger door and rolled away into the street. Must have had a hard head as he seemed none the worse for wear, a loud yelp and he took off running away like nothing happened. About a year later police ended up serving warrants on them and they were evicted from the disorderly house and the neighborhood was better off for it. If dogs are charging at you I would say report them to police or animal control, cities have laws and fines on the books that can be enforced, if not owners will face fines and be banned from owning animals if they are not responsible owners. Of course you could always approach the owners as well, but more often than not owners with dogs like that are probably not the approachable type and might be jerks and try and escalate things.