Multiple colliders triggering at the same time

Hi, I'm very new to unity.

I'm using an enemy object with two colliders childed to it in order to detect where the player hit the enemy (if he jumped on it). However the Player's collider collides with both the enemy colliders even though one is much smaller and placed in the top/center of the other one. Any way to block movement as soon as two colliders meet?

EDIT: This is my code

public Collider[] colliders;

void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.tag == "Player")
    {
        colliders = GetComponentsInChildren<Collider>();

        foreach (Collider d in colliders)
        {
            if (d.name == "top collider")
                Debug.Log("Player Attacking me!");
            else if (d.name == "bottom collider")
                Debug.Log("Player Dead!");
        }
      }
    }

My problem is that the movement doesnt stop when it hits the first collider... so it hits both colliders and both if statements fire.

Depends on how you are detecting the collsion. If it detects the object hit, the answer is the same no matter wich collider is hit. Could you post your script?

Edit. Are your colliders set to discrete checking? Are they set to trigger?