How can we forbid pilot from configuring ardupilot from gcs, Such that during flight unnecessary parameters cannot be reconfigured.
Build your own custom version of QGC which hides things like the parameter editor. That is what most commercial vehicle operators who have custom builds do. And then these things only come back in “advanced” mode which is accessible through and easter egg mechanism.
In that case if mavlink command to set parameter is given by other non_customize gcs it would be modified