Definitely not trying to be a smart ass, but make sure all the fasteners/clips/screws etc are in good repair and tight. If any are missing, replace them.
Rattles are caused by vibrations in materials. If you add mass to the material, it will vibrate less and become less audible to the point where it will make no noise.
You can add mass to the back of your door panels using Dynamat or other sound deadener, or just rubber glue or something like it. To help with road noise, you CAN use the pink stuff home insulation. I've seen writeups on it.
You can also use that expanding foam but don't use it on flexible panels because I'd worry that they would distort when the foam expands and hardens. If you don't want the foam to stick to your panels, insert a plastic bag first and fill the plastic bag. Should be good!
B