Q:

Objects pass through the player object

I have spheres and a player gameObjects, the balls enter the player even though it has a rigid body and a collider, this is how the player is defined:

It has several child objects but none of them has a rigid body or a collider.
This is how the spheres are defined with its sphere child: 

The spheres are moved only like this transform.GetComponent<Rigidbody> ().AddForce (dir.normalized * ForceFactor);
So what is causing them to go into the player?

A:

Your player and enemy object both has collider's property IsTrigger enabled. Check out documentation on trigger - it's mentioned that trigger doesn't register a collision. You should use not trigger mode colliders (for both object) to register collision properly and don't allow object to pass through each other

