The decree, published today on the government's legal information internet portal, said that demonstrations, rallies and pickets that are not tied to the football tournaments can only be held in host cities' regions in places and at times approved by the authorities.
The measure will remain in place "from June 1 to July 12, 2017" for the Confederations Cup and "from May 25 to July 25, 2018" for the World Cup.
Opposition leader Alexei Navalny, who has called for nationwide anti-corruption protests on June 12, said Putin's move would not keep his supporters off the streets.
"Of course our rallies will not interfere with the matches."
More From This Section
Putin in 2013 imposed a sweeping ban on protests in and around the 2014 Sochi Olympics and Paralympics before softening the measures by allowing protests to be held at times and places agreed upon with the authorities.
Moscow, Saint Petersburg, Kazan and Sochi will host the Confederations Cup from June 17 to July 2.
Moscow is scrambling to calm fears of fan violence at the Confed and World Cup following clashes involving Russian hooligans at Euro 2016 in France.