EDITAR: No puedo comentar sobre la pregunta ya que me quedé bloqueado de mi cuenta anterior y no tengo suficiente reputación ... Todo lo que sigue se aplica a los datos también. Nada en el lado del cliente está bajo su control. Estoy confundido en cuanto a por qué no estaría preocupado por el código arbitrario sino solo por los datos arbitrarios. En términos generales, la capacidad de modificar el código proporciona más poder para producir resultados "inesperados" que la capacidad de modificar los datos. Tal vez debería explicar exactamente lo que le preocupa. ¿Puede aclarar qué quiere decir con "ejecución JS autorizada"?
Si entiendo su pregunta, creo que está preguntando si un usuario puede cambiar su javascript del lado del cliente de manera arbitraria, es decir, para cambiarlo como lo desee. La respuesta es un sí rotundo. Echa un vistazo a Greasemonkey , por ejemplo. En general, todo lo que se está ejecutando en el cliente está bajo su control. Ha habido muchos intentos de crear sistemas del lado del cliente que eviten este tipo de cosas, pero en realidad solo funcionan si el cliente opta por usarlos. Cualquier usuario técnicamente sofisticado podrá deshabilitar estas opciones.
Usted nunca debe poner ningún tipo de lógica sensible en el lado del cliente. Todas las aportaciones provenientes del cliente deben considerarse mal formadas o manipuladas de otra manera por razones infames.
Hubo aproximadamente una década de casos en los que un sitio web minorista tomó el precio de un artículo como una entrada del POST del cliente. Un usuario vio esto y presentó un precio de $ 0.01 y ordenó un montón de artículos. El sitio web debidamente ejecutado el pedido tal como fue presentado. Fue a la corte y el caso se resolvió contra el sitio web. Es decir, ni siquiera era ilegal.