Springbok coach Allister Coetzee will only be able to select overseas-based players who have more than 30 international caps in a policy aimed at protecting the domestic game.
South Africa has suffered a "player drain" in recent years as clubs in England, France and Japan provide lucrative alternatives for young South Africans.
The new ruling, which will be put in place after the three-match home series with France in June, will not apply in World Cup years, South African Rugby said on Friday.
"We are sending a message to young players that if they wish to play for the Springboks, then they must remain in South Africa," the president of SA Rugby Mark Alexander said.
"But we have also retained flexibility for the coach to select exceptional players who may be based overseas provided they have a proven track record of 30 Tests for the Springboks," he added, saying the policy would be reviewed periodically in conjunction with the national coach.
Recent Boks players who would be affected include Saracens prop Vincent Koch and Ulster back-row forward Marcell Coetzee.
Twelve of the Boks' 31-man squad for the 2015 Rugby World Cup were contracted to overseas-based clubs, while 40 players from South Africa's six Super Rugby teams signed contracts with teams outside of the country at the end of the 2016 competition.
New Zealand do not allow players playing outside the country to feature for the All Blacks, while Australia relaxed their zero-tolerance rule ahead of the Rugby World Cup 2015 in England 18 months ago.
Players with 60 or more caps are now able to represent the Wallabies, enabling coach Michael Cheika to select the Toulon pair of centre Matt Giteau and wing Drew Mitchell for the showpiece tournament.