EDIT: Non posso commentare la domanda da quando sono stato bloccato dal mio vecchio account e non ho abbastanza reputazione ... Tutto quanto segue vale anche per i dati. Nulla sul lato client è sotto il tuo controllo. Sono confuso sul perché non ti preoccupi del codice arbitrario, ma solo dei dati arbitrari. In generale, la possibilità di modificare il codice fornisce più potenza per produrre risultati "inaspettati" rispetto alla possibilità di modificare i dati. Forse dovresti spiegare esattamente di cosa sei preoccupato. Puoi chiarire cosa intendi per "esecuzione JS autorizzata"?
Se capisco la tua domanda, penso che tu stia chiedendo se un utente può modificare arbitrariamente il tuo javascript sul lato client, per esempio per modificarlo, a loro piacimento. La risposta è un sonoro sì. Dai un'occhiata a Greasemonkey , ad esempio. In generale, tutto ciò che è in esecuzione sul client è sotto il loro controllo. Ci sono stati molti tentativi di creare sistemi lato client che impediscono questo genere di cose, ma funzionano davvero solo se il client decide di usarli. Qualsiasi utente tecnicamente sofisticato sarà in grado di disabilitare queste opzioni.
Dovresti mai mettere alcun tipo di logica sensibile sul lato client. Tutti gli input provenienti dal client devono essere considerati potenzialmente malformati o manipolati in altro modo per motivi nefasti.
C'è stato un decennio di casi in cui un sito Web di vendita al dettaglio ha preso il prezzo di un articolo come input dal POST del cliente. Un utente ha visto questo e ha presentato un prezzo di $ 0,01 e ha ordinato un mucchio di articoli. Il sito web ha debitamente eseguito l'ordine come presentato. È andato in tribunale e il caso è stato pronunciato contro il sito web. Cioè, non era nemmeno illegale.