France's National Assembly has approved a law banning the wearing of masks at protests, and another to ban specific people from taking part in rallies.
Wearing a mask could now result in a one-year prison sentence and a €15,000 (£13,000; $17,000) fine.
France has seen weekly protests by the "gilets jaunes" (yellow vest) movement - with isolated pockets of violence.
But police are also under scrutiny for allegedly causing severe injury to peaceful protesters.
The case of Jérôme Rodrigues has reignited the debate over police actions. Mr Rodrigues, a self-described pacifist, was hit in the eye during a rally on Saturday, and may lose his sight in that eye.
Restricting rights, or guaranteeing them?
The new laws have yet to clear the final legislative hurdle after a long debate failed to get to the end of the draft text - but its main provisions were adopted by lawmakers on Wednesday evening.
In addition to the ban on wearing a mask or other face covering without justification, a specifically named person can now be prohibited from demonstrating.
Previously, judges could issue such an injunction as part of a case - but the power to ban a person from protesting will now also be granted to regional administrators.
Supporters of this ban say it will only target repeat violent offenders: they must represent a serious threat to public order and have carried out some violent act against people or property.
Ignoring such a prohibition could result in a six-month prison sentence and a €7,500 fine, although anyone affected will be allowed an urgent appeal against the initial order.
Another part of the law hopes to make troublemakers financially liable for any property damage they cause.
Many French lawmakers have expressed concern that the legislation could have an impact on personal rights.
Speaking on French broadcaster BFMTV, a spokesperson for President Emmanuel Macron's party, Aurore Bergé, said the new law was not about restricting freedoms, but about guaranteeing them.
"We are not talking about any French person taken at random – we are talking about those who have injured, tried to kill, or destroyed property," she said.
"This law is to let those who genuinely want to protest to always do so."
The case of Jérôme Rodrigues has made national headlines throughout France.
He was live-streaming Saturday's protest to Facebook when he says he was hit by a "flashball", or LBD - a non-lethal rubber ball.
On Wednesday, French media reported that police had finally admitted that an LBD was fired in the same area and at the time Mr Rodrigues was injured - but stopped short of saying there was a link between the two.
It is now up to the national police inspectorate to find any link.
One police source told the AFP news agency that the weapons were needed due to the scale of the protests, which have seen thousands take to the streets.
"We're being attacked with glass bottles, cinder blocks, acid and bolts," the source said.
"An LBD is the weapon that scares people. If they took them away from us, no officer will want to work during the protests."
But protesters frequently allege unjustified use of force.
France's government has been equally firm about the need to protect the general public and hold those who are violent or damage property accountable.