The US Senate backed legislation on Tuesday directing President Donald Trump to halt US military action against Iran, the latest rebuke of the Republican president from an increasingly restive Congress.