Tienes toda la razón, los scripts deben hacer aquello para lo que son creados, manteniendo un buen equilibrio entre funcionalidad y seguridad.
Tratando bien lo que se recibe no debería haber ningún problema, porque quizá lo más peligroso sea el XSS si el usuario puede introducir HTML enriquecido o subir archivos, pero no es el caso. También ayuda el uso de las siguientes funciones:
- require_login()
- has_capability()
- optional_param() o require_param()
- p() o s()
- format_string()
- format_text()
Lo importante es controlar a nivel de aplicación o en este caso de módulo, todos los datos de entrada, limpiándolos y escapando los datos de salida, como lo haría por ejemplo HTMLPurifier.
En cuanto a las tareas de las que estamos hablando son inserción, actualización y borrado de registros, básicamente mediante el paso de parámetros entre scripts.
El sentido y enfoque del módulo que acabo de crear y que estoy probando básicamente es de comunicación entre profesor y alumno.
De todas formas no te preocupes, que espero contribuirlo en cosa de un mes, entonces tendrás toda la información que necesites, ahora de momento aún estoy en fase de pruebas.