If he's dangerous to lead, I second the suggestion of a dually halter, rope halter, or chain. It's a temporary bandaid and not a permanent fix, but it can make it a lot safer for you while you're training him.
Hey! So if my boy gets a bit bargey and pulls I normally bring him back to a halt straight away and make him stand there for 10seconds. If he does manage to pull me a few strides, I’ll back him up to where he pulled, make him stand for 10seconds then start again. If he’s being very bold and pulling to the stable, I’ll walk him in a big circle beside the stable until he no longer pulls me towards it. Then I let him in!
The problems comes from the lack of respect of your horse. You need to make a lot of ground work to make yourself be respected again.
Then, while coming back to the stable, you can have untighten rein and give a franc correction on the reins or throw the reins to his nose (not violently, just to afraid him a bit so that he'll stop by himself).
If really he gets too strong, turn around and come back when he's relaxed, you can also make him go backwards when he trot.
I hope i could help you, good luck :)
If you're leading him, a Dually headcollar or something similar works great. It works well because when the horse isn't pulling, there's no pressure and is just a normal headcollar. However, when needed, it adds extra leverage onto the nose so the horse associates pulling with discomfort. Therefore, something like that trains a horse not to pull, rather than just punishes them.
If it's very bad, a chain may work or a chifney but it tends to be a bit harsh so I'd try the rope types first.