Zeke was terrible with this, and Mud was bad about it when I got her too. I taught her wait. DTA has a lesson on this. I actually taught it to her right in front of the door, so right from the start she knew what was expected of her. Once she knew that wait meant to sit and stay, I progressed to taking a step towards the door, with her in the wait position. If she broke it, I gave a firm, "Ah-ah!" and returned her to the position. She quickly learned to wait at the end of the carpet(my entryway is tile). I took baby steps, going from taking a step towards the door, going to the door, touching the doorknob, opening the door a few centimeters, a few more, to opening it all the way. Once she would sit quietly while I opened the door, I asked a friend to come over. I did the same stuff with the friend outside by the door, then eventually asked them to walk one of my other dogs out front.
Zeke was a little harder. He now knows the command wait, but I didn't initially use it for that. Instead I asked him to sit, and I merely leaned forward. If he broke it, I gave a firm, "Ah-ah!", spun around, and walked away from the door. From the leaning forward, I went to taking a step, more steps, touching the door, opening it a centimeter, a few more, opening it all the way. When he would finally sit while I opened the door, I still didn't progress to asking him to stay there with the door open. Instead, I walked in and out of the door over and over and over and OVER again until he was so bored with it that the door being open was no longer exciting. As with Mud, I asked someone to come over, and he stood outside the door while I repeated the process. Once Zeke had learned that the door was not so incredibly exciting, I then taught him to "wait" with the door wide-open. Zeke took quite a while to learn all of this, but it did work. Although it may be a pain to leash your dog everytime someone comes to the door, I'd say that it's worth it. It's either that or she runs out the door and gets run over.
I would go through the steps explained, and once she's mastered waiting, then I'd go all the way back to step one and ask someone to ring the doorbell. She will probably break the proper position when it rings--say "Ah-ah!" if you wish to, and return her to the wait position, then reward her. Although it may be annoying, you could ask someone to ring the doorbell over and over and over and over again until she becomes bored with it and realizes that its sound doesn't necessarily mean that a visitor is coming.