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.
Rodrigues, a self-described pacifist, was hit in the eye during a rally on Saturday, and may lose his sight in that eye.
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.